Heim >Backend-Entwicklung >C++ >Wie kann ich einen Enum-Wert mithilfe seiner Beschreibung in C# abrufen?

Wie kann ich einen Enum-Wert mithilfe seiner Beschreibung in C# abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-21 21:21:10338Durchsuche

How Can I Retrieve an Enum Value Using Its Description in C#?

C#-Aufzählungen verbessern: Werte nach Beschreibung abrufen

Dieser Artikel demonstriert eine leistungsstarke Technik zur Verbesserung der Funktionalität von C#-Aufzählungen. Wir konzentrieren uns darauf, einen Enum-Wert mithilfe seines Beschreibungsattributs effizient abzurufen. Dieser Ansatz bietet mehr Flexibilität und vereinfacht die Codeentwicklung.

Die Lösung umfasst eine statische Hilfsklasse EnumEx, die eine generische Methode enthält: GetValueFromDescription. Diese Methode akzeptiert eine Beschreibungszeichenfolge und den Aufzählungstyp als Eingabe. Anschließend durchläuft es die Felder der Aufzählung und verwendet dabei die Reflektion, um das DescriptionAttribute zu finden. Wenn eine Übereinstimmung zwischen der Beschreibung des Attributs und der Eingabezeichenfolge gefunden wird, wird der entsprechende Enum-Wert zurückgegeben.

Wenn kein DescriptionAttribute vorhanden ist, greift die Methode auf den Vergleich des Feldnamens mit der Eingabebeschreibung zurück. Wird hier eine Übereinstimmung gefunden, wird der entsprechende Enum-Wert zurückgegeben. Andernfalls wird ein ArgumentException ausgelöst (oder der Standard-Enumerationswert wird zurückgegeben, je nach Implementierungspräferenz).

Diese Methode ermöglicht das einfache Abrufen von Enum-Werten mithilfe von Beschreibungen:

<code class="language-csharp">var panda = EnumEx.GetValueFromDescription<animal>("Giant Panda");</code>

Diese Erweiterung verbessert die Wartbarkeit und Lesbarkeit des Codes erheblich, indem sie eine sauberere Möglichkeit bietet, auf Enum-Werte basierend auf ihren Beschreibungen zuzugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich einen Enum-Wert mithilfe seiner Beschreibung in C# abrufen?. 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