C# 带有泛型重载的GetMethod
我有一个类,它有两个方法,重载了相同的名称和参数,但有一个是泛型的:C# 带有泛型重载的GetMethod,c#,.net,generics,reflection,generic-programming,C#,.net,Generics,Reflection,Generic Programming,我有一个类,它有两个方法,重载了相同的名称和参数,但有一个是泛型的: public class Foo { public string Bar(string s) { throw new NotImplementedException(); } public T Bar<T>(string s) { throw new NotImplementedException(); } } 您可以使用LINQ获取通用或非通用的: fooType.GetMethods().Fi
public class Foo
{
public string Bar(string s) { throw new NotImplementedException(); }
public T Bar<T>(string s) { throw new NotImplementedException(); }
}
您可以使用LINQ获取通用或非通用的:
fooType.GetMethods().First(m => m.Name == "Bar" && m.IsGenericMethod)
要获得非泛型重载,只需否定
m.IsGenericMethod
的结果 您可以使用LINQ获得通用或非通用的:
fooType.GetMethods().First(m => m.Name == "Bar" && m.IsGenericMethod)
要获得非泛型重载,只需否定
m.IsGenericMethod
的结果 看看这个:看看这个:那会有用的。我想我只需要手动匹配其中的类型就行了。我想我只需要手动匹配其中的类型。