当我有一个类型可以传递给该方法时,我试图通过反射找到最合适的调用方法。
让我担心的边缘情况是使用相同数量的参数重载,如下所示:
class UserClass {}
class UserClassB : UserClass {}
class SomeClass {
void method(object x);
void method(UserClass x);
}
在运行时我对调用感兴趣method
,而我手头的类型是UserClassB
.
最合适的应该是method(UserClass)
.
问题是使用typeof(SomeClass).GetMethod("method", new Type[] { typeof(UserClass2) }));
它时会返回一个空值,因为我认为它是根据传递类型的完全匹配进行搜索的。
有任何想法吗?谢谢。