¿La reflexión en C# ofrece una forma de determinar si algún tipo de System.Type determinado modela alguna interfaz?
public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);Tienes algunas opciones:
typeof(IMyInterface).IsAssignableFrom(typeof(MyType))typeof(MyType).GetInterfaces().Contains(typeof(IMyInterface))typeof(MyType).GetInterface(nameof(IMyInterface)) != nullPara una interfaz genérica, es un poco diferente.
typeof(MyType).GetInterfaces().Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IMyInterface<>))Utilice Type.IsAssignableFrom :
typeof(IMyInterface).IsAssignableFrom(typeof(MyType));typeof(IMyInterface).IsAssignableFrom(someclass.GetType());o
typeof(IMyInterface).IsAssignableFrom(typeof(MyType));