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