我通过使用模板重载了方法。GetMethod 没有为提供的参数类型返回任何方法信息。我需要帮助来识别从以下代码中检索方法信息所需的正确类型签名
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);
}