У меня есть общий интерфейс, скажем, IGeneric. Для данного типа я хочу найти общие аргументы, которые класс реализует через IGeneric.
В этом примере это более понятно:
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.
Редактировать: Обратите внимание, что я специально спрашиваю, как отфильтровать интерфейс IGeneric от всех интерфейсов, которые реализует MyClass.
Связанный: Определение, реализует ли тип универсальный интерфейс