Ho un'interfaccia generica, ad esempio IGeneric. Per un dato tipo, voglio trovare gli argomenti generici che un programma di classe tramite IGeneric.Ottenere argomenti tipo di interfacce generiche implementate da una classe
E 'più chiaro in questo esempio:
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) }
Qual è l'implementazione di GetTypeArgsOfInterfacesOf (tipo T)?
Nota: si può presumere che il metodo GetTypeArgsOfInterfacesOf sia scritto specificamente per IGeneric.
Modifica: Si noti che sto specificatamente chiedendo come filtrare l'interfaccia IGeneric da tutte le interfacce implementate da MyClass.
correlati: Finding out if a type implements a generic interface
Ok ma questo riguarda EvilType di IDontWantThis. Non voglio il EvilType. –
Risolto, solo bisogno di una semplice condizione sul Dove(). –