Tengo una interfaz genérica, por ejemplo, IGeneric. Para un tipo dado, quiero encontrar los argumentos genéricos que una clase impone a través de IGeneric.Obtener argumentos de tipo de interfaces genéricas que implementa una clase
Es más claro en este ejemplo:
Class MyClass : IGeneric<Employee>, IGeneric<Company>, IDontWantThis<EvilType> { ... }
Type t = typeof(MyClass);
Type[] typeArgs = GetTypeArgsOfInterfacesOf(t);
// At this point, typeArgs must be equal to { typeof(Employee), typeof(Company) }
¿Cuál es la implementación de GetTypeArgsOfInterfacesOf (tipo T)?
Nota: Se puede suponer que el método GetTypeArgsOfInterfacesOf está escrito específicamente para IGeneric.
Edit: Tenga en cuenta que específicamente estoy preguntando cómo filtrar la interfaz IGeneric de todas las interfaces que MyClass implementa.
relacionadas: Finding out if a type implements a generic interface
Ok, pero esto implica EvilType de IDontWantThis. No quiero el EvilType. –
Solucionado, solo necesitaba una condición simple en el lugar(). –