動態委派 (Reflection and Delegate)

摘要:動態委派 (Reflection and Delegate)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace DelegateConsoleApplication
{
    public delegate String MyMethod(String _pram);
    class Class2
    {
        static public void GetReturn()
        {
            //取得RunTime時的組件,並取得物件Type
            //Assembly assem = Assembly.GetExecutingAssembly();
            //typeof(DelegateConsoleApplication.Class1);            
            //Type tx = assem.GetType("DelegateConsoleApplication.Class1");

            //只接從專案中取得Type
            Type tx = typeof(DelegateConsoleApplication.Class1);  //F
            object ex = Activator.CreateInstance(tx); //生成物件
            MethodInfo mi = tx.GetMethod("ReturnStringMethod"); //取得Class1 類別 Method名稱 需使用靜態方法
            Delegate dg = Delegate.CreateDelegate(typeof(MyMethod), mi);//動態產生委派           
           dg.DynamicInvoke(new object[] { "abc" });//執行委派

            
         
   
        }
    }

}

今天在想了一下委派的方式 想一想能不能使用反射技術在RunTime時才指定要委派的方法 寫了以上程式