Woher weiß ich, wann eine Schnittstelle direkt in einem Typ implementiert ist, der geerbte ignoriert?

Das Problem tritt auf, wenn eine Klasse eine Schnittstelle implementiert und eine Klasse erweitert, die eine Schnittstelle implementiert:

class Some : SomeBase, ISome {}
class SomeBase : ISomeBase {}
interface ISome{}
interface ISomeBase{}

Da typeof (Some) .GetInterfaces () zusammen mit ISome und ISomeBase ein Array zurückgibt, kann ich nicht unterscheiden, ob ISome implementiert oder geerbt ist (als ISomeBase). Als MSDN kann ich die Reihenfolge der Schnittstellen im Array nicht übernehmen, daher bin ich verloren. Die Methode typeof (Some) .GetInterfaceMap () unterscheidet sie ebenfalls nicht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage