Appare il problema è quando ho una classe che implementa un'interfaccia, ed estendendo una classe che implementa un'interfaccia:Come faccio a sapere quando un'interfaccia viene implementata direttamente in un tipo ignorando quelli ereditati?
class Some : SomeBase, ISome {}
class SomeBase : ISomeBase {}
interface ISome{}
interface ISomeBase{}
Da typeof (Alcune) .GetInterfaces() resi e matrice con ISome e ISomeBase, i' Non sono in grado di distinguere se ISome è implementato o ereditato (come ISomeBase). Come MSDN non posso assumere l'ordine delle interfacce nell'array, quindi sono perso. Il metodo typeof (Some) .GetInterfaceMap() non li distingue neanche.
Perché ti interessa? Cosa stai cercando di fare? –
È lungo spiegare, ma voglio registrare automaticamente i servizi in AutoFac in base alla loro implementazione dell'interfaccia, poiché i servizi possono essere estesi, ho bisogno di fare una distinzione. –