C#高效反射調(diào)用方法類實(shí)例詳解
C#高效反射調(diào)用方法類
1.創(chuàng)建一個(gè)業(yè)務(wù)類(HomeService),在類下創(chuàng)建3個(gè)方法


2.正常方式調(diào)用類的方法

3.反射方式調(diào)用類的方法

4.調(diào)用代碼

5.調(diào)用結(jié)果

6.Service類方法代碼


內(nèi)容擴(kuò)展:
1、正常方式調(diào)用類的方法
/// <summary>
/// 正常調(diào)用類的方法(parm1)
/// </summary>
/// <returns></returns>
public string GetNormalMethod_2()
{
HomeService service = new HomeService();
//調(diào)用有參方法(name)
string result = service.SayHello("李天");
//輸出調(diào)用信息
string strs = GetInvokeInfo("SayHello(string name)", result);
return strs;
}
2、反射方式調(diào)用類的方法
/// <summary>
/// 通過反射調(diào)用類的方法(SayHello(string name))
/// </summary>
public string GetInvokeMethod_2()
{
// 1.Load(命名空間名稱),GetType(命名空間.類名)
Type type = Assembly.Load("StudyInvokeMethod").GetType("StudyInvokeMethod.HomeService");
//2.GetMethod(需要調(diào)用的方法名稱)
MethodInfo method = type.GetMethod("SayHello", new Type[] { typeof(string) });
// 3.調(diào)用的實(shí)例化方法(非靜態(tài)方法)需要?jiǎng)?chuàng)建類型的一個(gè)實(shí)例
object obj = Activator.CreateInstance(type);
//4.方法需要傳入的參數(shù)
object[] parameters = new object[] { "李天"};
// 5.調(diào)用方法,如果調(diào)用的是一個(gè)靜態(tài)方法,就不需要第3步(創(chuàng)建類型的實(shí)例)
// 相應(yīng)地調(diào)用靜態(tài)方法時(shí),Invoke的第一個(gè)參數(shù)為null
string result = (string)method.Invoke(obj, parameters);
//輸出調(diào)用信息
string strs = GetInvokeInfo("SayHello(string name)", result);
return strs;
}
相關(guān)文章
C#實(shí)現(xiàn)Dev Grid拖拽移動(dòng)行的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Dev Grid拖拽移動(dòng)行的方法,可實(shí)現(xiàn)Dev Grid拖拽移動(dòng)行的效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
C#中的Task.WaitAll和Task.WaitAny方法介紹
這篇文章介紹了C#中的Task.WaitAll和Task.WaitAny方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
C#將PDF轉(zhuǎn)為多種圖像文件格式的方法(Png/Bmp/Emf/Tiff)
這里介紹將PDF轉(zhuǎn)換多種不同格式的圖像文件格式,如PNG,BMP,EMF,TIFF等,同時(shí),轉(zhuǎn)換文檔也分為轉(zhuǎn)換全部文檔和轉(zhuǎn)換部分文檔為圖片兩種情況,本文也將作進(jìn)一步介紹2018-02-02
C#分析URL參數(shù)并獲取參數(shù)和值對(duì)應(yīng)列表的方法
這篇文章主要介紹了C#分析URL參數(shù)獲取參數(shù)和值對(duì)應(yīng)列表的方法,涉及C#進(jìn)行URL分析及正則表達(dá)式的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
c#中winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn)
本文主要介紹了c#winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
C#中TreeView節(jié)點(diǎn)的自定義繪制方法
這篇文章主要介紹了C#中TreeView節(jié)點(diǎn)的自定義繪制方法,實(shí)例展示了TreeView節(jié)點(diǎn)的操作技巧,需要的朋友可以參考下2015-02-02

