Получение аргументов типа универсальных интерфейсов, которые реализует класс

У меня есть общий интерфейс, скажем, 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 (Type t)?

Примечание. Можно предположить, что метод GetTypeArgsOfInterfacesOf написан специально для IGeneric.

Edit: Обратите внимание, что я специально спрашиваю, как отфильтровать интерфейс IGeneric от всех интерфейсов, которые реализует MyClass.

Связанные с:Выяснение, реализует ли тип универсальный интерфейс

Ответы на вопрос(3)

Ваш ответ на вопрос