考虑这个例子:
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);
如何为接口方法执行此操作?如果类型隐式声明方法,则检查方法名称是不够的。