【发布时间】:2010-09-30 19:59:38
【问题描述】:
考虑这样的类型
public interface IHaveGenericMethod
{
T1 Method<T1>(T1 parm);
T2 Method<T1,T2>(T1 parm);
int Method2(int parm);
}
如何获取其方法的 methodInfo? 对于常规的非泛型方法,例如 method2,我可以使用
typeof(IHaveGenericMethod).GetMethod("methodName",new Type[]{typeof(itsParameters)});
但对于泛型方法,我不能,因为它的参数本身不是类型。 那么,我该怎么做呢? 我知道我可以打电话
typeof(IHaveGenericMethod).GetMethods()
获取该类型的所有方法,然后遍历该集合并进行一些匹配,但这很丑陋。有没有更好的办法?
【问题讨论】:
-
re “但这并不能回答我的问题” - 也许,但请参阅“但没有什么更干净”。 - 即 AFAIK,你真的不能比这更干净了。
标签: .net reflection metaprogramming