c 動態載入dll檔案,並實現呼叫其中的簡單方法

2022-09-26 05:03:09 字數 1127 閱讀 5528

以下是測試**:

新建乙個classlibrary,包含兩個類class1和class2,這兩個類中分別有乙個方法,都是返回乙個字串,**如下:

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace mydll

public string sayhello()

} public class class2

public string saybeautiful()

}}在編譯完成後會生成乙個mydll.dll動態鏈結庫,然後新建乙個winform專案(其他也可以,除錯用):

private void button1_click(object sender, eventargs e)

);//這裡是獲取乙個類似於類的例項的東東

//object magicclassobject = activator.createinstance(t);//獲取無引數的構造例項還可以通過這樣

methodinfo mi = ty.getmethod("sayhello");

object aa=mi.invoke(magicclassobject, null);

messagebox.show(aa.tostring());//這兒是執行類class1的sayhello方法

}if (ty.name == "class2")

);methodinfo mi = ty.getmethod("saybeautiful");

object aa = mi.invoke(magicclassobject, null);//方法有引數時,需要把null替換為引數的集合

messagebox.show(aa.tostring());} }

//appdomain plugindomain = (plugininstancecontainer[key] as pluginentity).plugindomain;

//if (plugindomain != null)

// }

本文標題: c# 動態載入dll檔案,並實現呼叫其中的簡單方法

本文位址:

c 實現動態載入Dll

原理如下 1 利用反射進行動態載入和呼叫.assembly assembly assembly.loadfrom dllpath 利用dll的路徑載入,同時將此程式集所依賴的程式集載入進來,需後輟名.dll assembly.loadfile 只載入指定檔案,並不會自動載入依賴程式集.assmbly...

c 實現動態載入Dll

基本思路 1 利用反射進行動態載入和呼叫.assembly assembly assembly.loadfrom dllpath 利用dll的路徑載入,同時將此程式集所依賴的 程式集載入進來,需後輟名.dll assembly.loadfile 只載入指定檔案,並不會自動載入依賴程式集.assmbl...

c 實現動態載入Dll

原文 c 實現動態載入dll 原理如下 1 利用反射進行動態載入和呼叫.assembly assembly assembly.loadfrom dllpath 利用dll的路徑載入,同時將此程式集所依賴的程式集載入進來,需後輟名.dll assembly.loadfile 只載入指定檔案,並不會自動...