我正在寻找一种简单的方法来获取有关方法的反射信息,该方法从类开始一直返回到声明接口。这是简化的代码:
public interface Ix
{
void Function();
}
public class X : Ix
{
public void Function() {}
}
public class Y : X
{
}
类X的方法信息不包含有关在Ix接口中声明Function的信息。这里是电话:
var info = typeof(X).GetMethod("Function");
var baseInfo = info.GetBaseDefinition()
它返回以下数据:
info.DeclaringType --> MyNamespace.X
info.ReflectedType --> MyNamespace.X
baseInfo.DeclaringType --> MyNamespace.X
baseInfo.ReflectedType --> MyNamespace.X
对于类Y,返回相同的信息。
我如何才能确定在接口Ix中声明了此函数,而无需遍历所有已实现的接口和类X或Y的基类?我可能会错过一些简单的东西,但我无法弄清楚是什么。这可能是错误吗?
这是.Net Core SDK版本2.1.104和Visual Studio 2017
米琪卡哇伊
相关分类