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
的结果

看看这个:看看这个:那会有用的。我想我只需要手动匹配其中的类型就行了。我想我只需要手动匹配其中的类型。