我有這種類型,其中包含兩個通用方法的重載。我喜歡使用反射來檢索其中一個重載(使用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