c 反射 動態載入dll簡單例子

2021-08-20 16:29:32 字數 955 閱讀 8685

假設已有元件classlibrarytest.dll,放置於程式目錄下。元件中classlibrarytest命名空間下有test類,類中有方法sum。下面示例就是動態載入元件並呼叫sum方法的簡例:

1

static

void main(string

args)

2\\classlibrarytest.dll

", system.environment.currentdirectory);//

dll元件路徑

4 assembly pass = assembly.loadfile(dllpath);//

載入元件

5 type ptype = pass.gettype("

classlibrarytest.test

");//

獲得類,classlibrarytest命名空間,test類名

6 methodinfo pmtinfo = ptype.getmethod("

sum");//

獲得方法,sum方法名

7object o = activator.createinstance(ptype);//

建立類例項

8int sum = (int)pmtinfo.invoke(o, new

object );//

呼叫方法

9 }

下面是元件**:

1

namespace

classlibrarytest212

public

int sum(int a, int

b)13

16private

string url = "

www.123.com";

17}18 }

C 下反射動態載入dll後如何解除安裝?

最近在做專案的時候,遇到乙個需求,需要通過選擇的檔案,先判斷是c dll還是c dll,再判斷dll是否是我們需要的特定dll,還是別的隨便乙個dll。經過研究發現,我們可以通過反射來載入dll,如果用c 的反射機制可以正確載入dll,那麼就可以認為該dll是c 型別的,如果不能正確載入,我們再通過...

C 動態載入DLL

using system.reflection 利用反射進行動態載入和呼叫.assembly ass assembly.loadfrom dllpath 利用dll的路徑載入 載入dll後,需要使用dll中某類.type type ass.gettype typename 利用型別的命名空間和名稱獲...

C 動態載入DLL

利用反射進行動態載入和呼叫.assembly ass assembly.loadfrom dllpath 利用dll的路徑載入 載入dll後,需要使用dll中某類.type type ass.gettype typename 利用型別的命名空間和名稱獲得型別 需要例項化型別,才可以使用,引數可以人為...