1. 程式人生 > 其它 >C#一個可以馬上跑起來的反射例子Assembly的使用

C#一個可以馬上跑起來的反射例子Assembly的使用

直接上程式碼

首先你需要有一個這樣的類

namespace CodeDemo
{
    public class TestAssembly
    {
        public static Int32 add(Int32 i, Int32 j)
        {
            return i + j;
        }
    }
}

專案就簡單點,這是我之前用作別的的一個專案。

一個加法方法很簡單。

核心來了,首先需要把上面的專案編譯下,把dll包扔到你這個專案中。也就是bin目錄下

然後執行下面這段程式碼就可以獲取使用了。

        Assembly ass = Assembly.LoadFrom(AppContext.BaseDirectory + "
CodeDemo.dll"); //載入dll檔案 Type tp = ass.GetType("CodeDemo.TestAssembly"); //獲取類名,必須 名稱空間+類名 Object obj = Activator.CreateInstance(tp); //建立例項 MethodInfo meth = tp.GetMethod("add"); //獲取方法 int t = Convert.ToInt32(meth.Invoke(obj, new Object[] { 2, 3 })); //Invoke呼叫方法

新學習的同學們,先跑起來再說,剩下斷點看