如何确定类型是否使用C#反射实现接口

是否 在C#报价的方式来确定是否给予一些System.Type款型的一些接口?

public interface IMyInterface {}

public class MyType : IMyInterface {}

// should yield 'true'

typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);

回答:

您有几种选择:

  1. typeof(IMyInterface).IsAssignableFrom(typeof(MyType))

  2. typeof(MyType).GetInterfaces().Contains(typeof(IMyInterface))

对于通用接口,则有所不同。

typeof(MyType).GetInterfaces().Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IMyInterface<>))

以上是 如何确定类型是否使用C#反射实现接口 的全部内容, 来源链接: utcz.com/qa/399124.html

回到顶部