C#中類型Type有個GetMethod方法,調用該方法可擷取指定方法名的方法資訊執行個體。
使用時,其參數一般為2個,一個是方法名稱字元串(可設定條件忽略大小寫),另外一個參數為搜尋方法的條件枚舉。
該方法傳回的是MethodInfo類型的執行個體,擷取到了這個執行個體之後,我們就可以調用并執行該方法了。
MethodInfo method = type.GetMethod( funcName , BindingFlags.IgnoreCase | BindingFlags.Static | BindingFlags.Public );
這裡要注意,搜尋條件枚舉,即第2個參數,要包含BindingFlags.Public,否則會傳回NULL的。
如果是靜态的方法,還要設定一個條件BindingFlags.Static。
得到了MethodInfo執行個體後,反射執行該方法:
method.Invoke( obj, arrParam );
obj為調用方法所屬的類型執行個體,如果調用的為靜态方法,可設定為null;arrParam為方法參數數組。
通過method.Invoke執行執行個體: