在很多應用程式中有這樣的效果,就是某個資料夾下面放入某個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 利用型別的命名空間和名稱獲得型別 需要例項化型別,才可以使用,引數可以人為...