我想寫一個方法從給定的輸入中返回一個methodinfo類,以創建該方法的通用版本......即,MethodGroup作爲通用參數
var m = myClass.GetType().GetMethod("SomeMethod").MakeGenericMethod(...blahblah..);
這工作是所有好,但我有字符串字面我的方法的名字,因此,如果在重新分解的過程中,我碰巧重命名的方法之一,我用我不知道找出直到運行時間。
我想要做的是創建一個幫助器方法,我可以傳遞一個lamba來指定方法組,這樣我就可以編譯時間檢查方法名稱,更不用說智能感知等等。
MethodInfo mi = myClass.GetMethodInfo(o => o.SomeMethod);
m = mi.MakeGenericMethod(..blah...);
但我一直無法弄清楚輔助的方法簽名......
public MethodInfo GetMethodInfo(Func<MyClass,XXXX> lambda){ //What is my XXXX ? }
是什麼的簽名你的'SomeMethod'是什麼樣子? – 2012-02-10 03:39:22
實際上這就是@ M.Babcock的觀點,他們可能並可能會有所不同,這就是爲什麼我想從方法組中解析,而不是特定的方法簽名。 – 2012-02-10 03:44:25
我不認爲這是可能的,但我可能是錯的。 'Func'希望知道要傳遞給lambda,如果你不知道那該怎麼辦? – 2012-02-10 03:50:08