How to determine if a type implements an interface with C# reflection
C#
反射提供了一种方法来确定某些给定的System.Type
类型是否可以模拟某个接口?
public interface IMyInterface {}
public class MyType : IMyInterface {}
// should yield 'true'
typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);
我的头顶上有几个选择
typeof(IMyInterface).IsAssignableFrom(typeof(MyType))
typeof(MyType).GetInterfaces().Contains(typeof(IMyInterface))
使用Type.IsAssignableFrom
:
typeof(IMyInterface).IsAssignableFrom(typeof(MyType));
typeof(IMyInterface).IsAssignableFrom(someclass.GetType());
要么
typeof(IMyInterface).IsAssignableFrom(typeof(MyType));
链接地址: http://www.djcxy.com/p/43724.html
上一篇: 强制转换为未明确实现的接口?