添加命名空間:Using System.Reflection
1 public object InvokeExternDll(string DllPath,string ClassName,string FunctionName,object[] ObjArray_Parameter) 2 { 3 object objReturnValue = https://www.cnblogs.com/YourDirection/p/new object(); 4 5 //加載DLL檔案 6 Assembly assembly = Assembly.LoadFile(DllPath); 7 8 //獲取所需類的型別 格式:"namespaceName.className" 9 Type classType = assembly.GetType(ClassName); 10 11 //建立此型別的物件 12 Object specificObj = Activator.CreateInstance(classType); 13 14 //獲取類中的想要執行的方法 15 MethodInfo ExecuteMethod = classType.GetMethod(FunctionName); 16 17 //呼叫函式 18 objReturnValue =https://www.cnblogs.com/YourDirection/p/ ExecuteMethod.Invoke(specificObj, ObjArray_Parameter); 19 20 return objReturnValue; 21 }
反射加載資料的用法:
Load("DllName") //dll 名稱無后綴,從當前目錄中加載
LoadFie(DllPath) //加載Dll完整路徑 從一個指定檔案中加載程式集
LoadFrom(DllPath) //加載Dll完整路徑的程式集 同時加載目標程式集所參考和依賴的其他程式集
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/84717.html
標籤:C#
下一篇:C#序列化與反序列化學習筆記
