C 動態載入Dll

2021-08-21 06:00:30 字數 1597 閱讀 3186

在很多應用程式中有這樣的效果,就是某個資料夾下面放入某個dll,這個軟體就會把此dll顯示出來。效果圖如下

這個效果在c#裡面實現起來非常簡單

foreach (var name in projectsname)

toolstripmenuitem deletefile = new toolstripmenuitem("delete current project file");

deletefile.click += new eventhandler(deleteprojectfile);

deletefile.visible = false;

projecttoolstripmenuitem.dropdownitems.add(deletefile);

projecttoolstripmenuitem.click += delegate (object o, eventargs en)

;assembly assembly = null;

int count = 0;

foreach (string dllfile in directory.getfiles(windowspath, "*.dll"))}}

private void menuitemnewitem_click(object sender, eventargs e)

);t.invokemember("text", bindingflags.setproperty, null, obj, new object );

t.invokemember("show", bindingflags.invokemethod, null, obj, new object );

((form)obj).closing += new canceleventhandler(frmwindow_closing);

((form)obj).activated += new eventhandler(frmwindow_activated);

toolstripmenuitem tsmi = new toolstripmenuitem();

tsmi.click += new eventhandler(menuitemwindow_click);

this.pnlnum.text = "當前裝載了" + this.formobjects.count + "個窗體";

this.pnlinfo.text = "當前活動窗體:" + this.activemdichild.text;

}private void menuitemwindow_click(object sender, system.eventargs e)

private void frmwindow_activated(object sender, system.eventargs e)

private void frmwindow_closing(object sender, system.componentmodel.canceleventargs e)}}

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 利用型別的命名空間和名稱獲得型別 需要例項化型別,才可以使用,引數可以人為...

C 動態載入DLL

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