Heim >Backend-Entwicklung >C++ >Kann ich Enum-Mitgliedern in C# Anzeigenamen zuweisen?

Kann ich Enum-Mitgliedern in C# Anzeigenamen zuweisen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-19 11:12:09668Durchsuche

Can I Assign Friendly Names to Enum Members in C#?

Können C#-Aufzählungen benutzerfreundliche Namen verwenden?

Wie Sie festgestellt haben, können C#-Enumerationsmitglieder nur Literalnamen mit Unterstrichen als Trennzeichen haben. Es gibt jedoch eine Möglichkeit, Ihrer Aufzählung einen „benutzerfreundlichen Namen“ zuzuweisen.

Lösung: Beschreibungsattribut

Sie können das Attribut DescriptionAttribute verwenden, um für jedes Aufzählungsmitglied eine benutzerfreundlichere Beschreibung bereitzustellen. Hier ist eine Erweiterungsmethode, die das Abrufen von Beschreibungen vereinfacht:

<code class="language-csharp">public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    FieldInfo field = type.GetField(name);
    DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
    return attr != null ? attr.Description : null;
}</code>

Verwendung:

Wenden Sie DescriptionAttribute auf jedes Enum-Mitglied an und geben Sie den gewünschten Anzeigenamen an:

<code class="language-csharp">public enum MyEnum
{
    [Description("此名称有效")]
    ThisNameWorks,
    [Description("此名称无效")]
    ThisNameDoesntWork,
    [Description("这个也不行")]
    NeitherDoesThis
}</code>

So rufen Sie benutzerfreundliche Namen ab:

<code class="language-csharp">MyEnum x = MyEnum.ThisNameWorks;
string description = x.GetDescription();</code>

Das obige ist der detaillierte Inhalt vonKann ich Enum-Mitgliedern in C# Anzeigenamen zuweisen?. 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