У меня есть общий интерфейс, скажем, 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 (тип Т)?
Примечание. Можно предположить, что метод GetTypeArgsOfInterfacesOf написан специально для IGeneric.
Редактировать: Обратите внимание, что я специально спрашиваю, как отфильтровать IGeneric интерфейс со всех интерфейсов, которые реализует MyClass.
Похожие: Finding out if a type implements a generic interface
Хорошо, но это связано с EvilType IDontWantThis. Я не хочу EvilType. –
Исправлено, просто нужно было простое условие Where(). –