Heim >Backend-Entwicklung >C++ >Wie kann ich überprüfen, ob ein Objekt ein bestimmter generischer Typ (z. B. Liste) in C# ist?

Wie kann ich überprüfen, ob ein Objekt ein bestimmter generischer Typ (z. B. Liste) in C# ist?

Susan Sarandon
Susan SarandonOriginal
2025-01-06 16:45:40913Durchsuche

How Can I Verify if an Object is a Specific Generic Type (e.g., List) in C#?

Überprüfen des generischen Typs in C#

Sie möchten feststellen, ob ein Objekt zu einem generischen Typ gehört. Ihr erster Versuch, GetType() mit typeof(List<>) zu vergleichen, führt nicht zum gewünschten Ergebnis. Lassen Sie uns den richtigen Ansatz untersuchen.

Um festzustellen, ob ein Objekt eine Instanz eines generischen Typs ist, verwenden Sie die IsGenericType-Eigenschaft:

return list.GetType().IsGenericType;

Andererseits, wenn Sie überprüfen möchten, ob es handelt sich speziell um eine List Für einen generischen Typ verwenden Sie diese Bedingung:

return list.GetType().GetGenericTypeDefinition() == typeof(List<>);

Beachten Sie, dass diese Methode die genaue Typäquivalenz überprüft. Wie von Jon erwähnt, bedeutet eine negative Antwort nicht schlüssig, dass das Objekt keiner List-Liste zugewiesen werden kann. variabel.

Das obige ist der detaillierte Inhalt vonWie kann ich überprüfen, ob ein Objekt ein bestimmter generischer Typ (z. B. Liste) in C# ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn