712 Stimmen

Wie man bestimmt, ob ein Typ eine Schnittstelle mit C#-Reflexion implementiert

Bietet Reflexion in C# eine Möglichkeit festzustellen, ob ein bestimmter System.Type ein bestimmtes Interface modelliert?

public interface IMyInterface {}

public class MyType : IMyInterface {}

// sollte 'true' ergeben
typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);

-1voto

sskiba Punkte 7

Wenn Sie keine Reflektion verwenden müssen und Sie ein Objekt haben, können Sie dies verwenden:

if(myObject is IMyInterface )
{
 // es implementiert IMyInterface
}

1 Stimmen

Deine Lösung wird nur für vorhandene Objekte funktionieren. Es ist nicht anwendbar auf Typen. Außerdem, wenn du ein Objekt erstellt hast, kannst du seinen Typ abrufen und die notwendigen Überprüfungen durchführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X