我通过使用模板重载方法。 GetMethod没有为所提供的Parameters类型返回任何methodinfo.I需要帮助来识别从以下代码中检索methodinfo所需的正确类型签名
public class MyClass
{
public void MyFunc<Template>(int a)
{ }
public void MyFunc<Template>(long a)
{ }
public void MyFunc<Template>(MyClass1<Template, int> a)
{ }
public void MyFunc<Template>(MyClass1<Template, long> a)
{ }
}
public class MyClass1<T,G>
{ }
我用它作为:
static void Main(string[] args)
{
Type[] types = new Type[]
{
typeof(MyClass1<object, int>)
};
//Contains Required Method
var allAvailMethods = typeof(MyClass).GetMethods();
//required method void MyFunc<Template>(MyClass1<Template, int> a)
//Returns NULL
var requiredMethod = typeof(MyClass).GetMethod("MyFunc", types);
}