1. 程式人生 > >c#實現動態載入Dll

c#實現動態載入Dll

1、利用反射進行動態載入和呼叫.
 Assembly assembly=Assembly.LoadFrom(DllPath); //利用dll的路徑載入,同時將此程式集所依賴的程式集載入進來,需後輟名.dll
Assembly.LoadFile 只加載指定檔案,並不會自動載入依賴程式集.Assmbly.Load無需後輟名
 
2、載入dll後,需要使用dll中某類.
Type type=ass.GetType(“TypeName”);//用型別的名稱空間和名稱獲得型別
 
3、需要例項化型別,才可以使用,引數可以人為的指定,也可以無引數,靜態例項可以省略
Object obj = Activator.CreateInstance(type,params[]);//利用指定的引數例項話型別
 
4、呼叫型別中的某個方法:
需要首先得到此方法
MethodInfo mi=type.GetMethod(“MehtodName”);//通過方法名稱獲得方法
 
5、然後對方法進行呼叫,多型性利用引數進行控制
mi.Invoke(obj,params[]);//根據引數直線方法,返回值就是原方法的返回值