제네릭 인터페이스가 있습니다 (예 : IGeneric). 주어진 타입에 대해서, 클래스가 IGeneric을 통해 imlements하는 일반 인자를 찾고 싶습니다.클래스가 구현하는 제네릭 인터페이스의 형식 인수 얻기
그것은이 예에서 더 분명하다
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) }
GetTypeArgsOfInterfacesOf (T 형)의 구현은 무엇입니까?
참고 : GetTypeArgsOfInterfacesOf 메서드가 특별히 IGeneric 용으로 작성되었다고 가정 할 수 있습니다.
편집 : MyClass가 구현하는 모든 인터페이스에서 IGeneric 인터페이스를 필터링하는 방법을 구체적으로 묻는 중입니다.
관련 : Finding out if a type implements a generic interface
하지만 여기에는 EvontType of IDontWantThis이 관련됩니다. 나는 EvilType을 원하지 않는다. –
고정되었으므로 Where()에 간단한 조건이 필요했습니다. –