Pobieranie argumentów typu ogólnych interfejsów implementowanych przez klasę

Mam ogólny interfejs, powiedzmy IGeneric. Dla danego typu chcę znaleźć ogólne argumenty, które klasa implikuje poprzez IGeneric.

W tym przykładzie jest bardziej jasne:

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) }

Jaka jest implementacja GetTypeArgsOfInterfacesOf (Type t)?

Uwaga: Można założyć, że metoda GetTypeArgsOfInterfacesOf została napisana specjalnie dla IGeneric.

Edytować: Zwróć uwagę, że specjalnie pytam, jak odfiltrować interfejs IGeneric ze wszystkich interfejsów implementowanych przez MyClass.

Związane z:Sprawdzanie, czy typ implementuje ogólny interfejs

questionAnswers(3)

yourAnswerToTheQuestion