我想写一个方法从给定的输入中返回一个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