使用relection查找类型的接口方法的实现

时间:2017-01-04 22:28:00

标签: c# reflection

考虑这个例子:

public interface MyInterface
{
    string GetFoo();
}

public class MyClass : MyInterface
{
    public string GetFoo()
    {
        return "Foo";
    }
}

现在说我有一个代表抽象接口方法的MethodInfo对象的实例:

MethodInfo abstractMethod = typeof(MyInterface).GetMethod("GetFoo");

我想获得一个MethodInfo实例,用于给定类型用于实现接口方法的确切方法。

对于抽象/虚拟类(非接口)方法,可以这样做:

MethodInfo implementation = typeof(MyClass).GetMethods().Single(m => m.GetBaseDefinition() == abstractMethod);

如何为接口方法执行此操作?如果类型隐式声明方法,则检查方法名称是不够的。

0 个答案:

没有答案