我有这种类型,其中包含两个通用方法的重载。我喜欢使用反射来检索其中一个重载(使用Func<T>
参数)。但问题是,我无法找到正确的参数类型来提供Type.GetMethod(string, Type[])
方法。检索通用方法的正确过载的方法信息
这里是我的类定义:
public class Foo
{
public void Bar<T>(Func<T> f) { }
public void Bar<T>(Action<T> a) { }
}
这就是我想出的,可惜没有更迭:
[TestMethod]
public void Test1()
{
Type parameterType = typeof(Func<>);
var method = typeof(Foo).GetMethod("Bar", new Type[] { parameterType });
Assert.IsNotNull(method); // Fails
}
我怎样才能得到的一般方法的MethodInfo
我知道参数?
哇..很酷。很棒!而这么小的代码。 – Anne 2011-01-06 19:57:53