Bestimmen, ob ein Typ einen bestimmten generischen Schnittstellentyp implementiert
Angenommen, Sie haben die folgenden Typdefinitionen:
public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {}
Wie können Sie anhand des verstümmelten Typs feststellen, ob der Typ Foo die generische Schnittstelle implementiert? IBar
Lösung mit LINQ-Abfrage
Wie von TcKs vorgeschlagen, können Sie die folgende LINQ-Abfrage verwenden:
bool isBar = foo.GetType().GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IBar<>));
Dies Die Abfrage prüft, ob eine der implementierten Schnittstellen von foo ein generischer Typ ist, der mit dem IBar
Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob ein Typ eine bestimmte generische Schnittstelle in C# implementiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!