Avatar ·

Wie man überprüft, ob ein Typ ein bestimmtes Interface implementiert, mithilfe von Reflection in C#

Hallo zusammen! Ich bin ein C#-Anfänger und habe ein Problem mit Reflection. Ich habe eine Bibliothek, in die Benutzer ihre eigenen Klassen übergeben können. Ich muss dynamisch überprüfen, ob der übergebene Typ ein bestimmtes Interface implementiert, um später seine Methoden aufrufen zu können. Hier ist ein Beispiel: Es gibt ein Interface IPlugin und mehrere Klassen, die es implementieren. Ich erhalte den Typ über Type.GetType("SomeClass") und möchte überprüfen, ob diese Klasse IPlugin implementiert. Ich habe es mit Type.IsAssignableFrom versucht, bin aber verwirrt, welcher Typ übergeben werden muss. Ich habe auch die Methode GetInterfaces() gesehen, bin mir aber nicht sicher, ob das die beste Lösung ist. Hier ist ein vereinfachter Code: ```csharp public interface IPlugin { void Execute(); } public class MyPlugin : IPlugin { public void Execute() { Console.WriteLine("Hello"); } } // Zur Laufzeit erhalte ich den Typ: Type type = typeof(MyPlugin); // Wie überprüfe ich, ob type IPlugin implementiert? ``` Könnt ihr mir sagen, wie man das richtig mit Reflection macht? Wichtig ist, dass die Lösung auch für generische Typen funktioniert.