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為方法參數數組。