我有一個類與幾個泛型重載的方法。我試圖通過它的參數類型來獲取特定的一個。當我堅持前兩個時(使用int和string類型的參數),做起來相對容易。但是不管我做什麼,我都無法讓我的程序注意到第三個,用於通用列表。我使用錯誤的Type參數嗎?如果是的話,什麼是正確的方式?C#:GetMethod的類型(通用列表)
/* rest of code */
static void Main(string[] args) {
MethodInfo method =
typeof(c).GetMethod("m", new Type[] { typeof(int) });
Console.WriteLine(method);
method =
typeof(c).GetMethod("m", new Type[] { typeof(String) });
Console.WriteLine(method);
method =
typeof(c).GetMethod("m", new Type[] { typeof(IEnumerable<>) });
Console.WriteLine(method);
Console.ReadKey();
}
}
static class c
{
public static void m<T>(int i)
{
}
public static void m<T>(String s)
{
}
public static void m<T>(IEnumerable<T> Ls)
{
}
}
可能的重複[如何使用反射來調用泛型方法?](http://stackoverflow.com/questions/232535/how-do-i-use-reflection-to -call-a-generic-method) – CSharpie
@CSharpie我認爲這個問題更多的是關於如何獲得泛型方法本身,而你引用的問題的答案並沒有真正解決這個問題。 – strongbutgood