如何确定一个类型是否实现了一个使用c#反射的接口


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));

未经作者同意,本文严禁转载,违者必究!