C#一個可以馬上跑起來的反射例子Assembly的使用
阿新 • • 發佈:2021-12-10
直接上程式碼
首先你需要有一個這樣的類
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呼叫方法
新學習的同學們,先跑起來再說,剩下斷點看