C#反射調用方法實例


下面是兩個反射的實例

案例1:

動態調用類中的方法、傳入參數,並獲得返回值。

xxxx:類名

Event:類中的方法

pra1,pra2,pra3:方法對應的入參

DoRet:方法返回的執行結果

Type t = typeof(xxxx);//類名
MethodInfo mt = t.GetMethod(Event);//加載方法
string DoRet = mt.Invoke(this, new object[] { pra1, pra2, pra3 }).ToString();//執行

案例2:

動態加載外部DLL,並執行其中的方法。

xxx:外部Dll的名字

zzz:Dll中的類名

yyy:方法名

pra1,pra2:入參

Ret:調用yyy的返回結果

Assembly ass = null;
Type tp;
Object obj;
ass = Assembly.Load("xxx");//dll名字
tp = ass.GetType("xxx.zzz");//類名
obj = Activator.CreateInstance(tp);//實例化
MethodInfo meth = tp.GetMethod("yyy");//加載方法
int Ret= meth.Invoke(obj, new Object[] { pra1, pra2 }).ToString();//執行

案例3:

動態執行方法和匹配參數

1.從http請求中解析出方法method和輸入參數paras

2.從類中獲取method的入參列表lists

3.匹配lists和paras,如果paras少於lists,則用空值代替

4.調用對應的方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM