Heim > Backend-Entwicklung > C++ > Wie kann ich C#-Enums benutzerfreundliche Namen geben?

Wie kann ich C#-Enums benutzerfreundliche Namen geben?

Mary-Kate Olsen
Freigeben: 2025-01-19 11:26:10
Original
495 Leute haben es durchsucht

How Can I Give Friendly Names to C# Enums?

Benutzerfreundlichere Namen für C#-Aufzählungen festlegen

In der C#-Programmierung werden Aufzählungen verwendet, um einen festen Satz von Werten zu definieren. Aufzählungsvariablen können nur die in der Aufzählung definierten Werte annehmen. Allerdings sind Aufzählungselemente standardmäßig nur numerische Werte, was in manchen Fällen nicht intuitiv genug ist. Die Frage ist also, wie man der Aufzählung einen benutzerfreundlicheren Namen geben kann.

Lösung mit Beschreibungsattribut

Um Aufzählungsmitgliedern verständlichere Namen zu geben, können Sie das Attribut „Beschreibung“ verwenden. Dadurch kann für jedes Aufzählungselement eine beschreibende Textzeichenfolge angegeben werden. Diese Beschreibung kann dann mit einer Erweiterungsmethode abgerufen werden:

<code class="language-csharp">public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    if (name != null)
    {
        FieldInfo field = type.GetField(name);
        if (field != null)
        {
            DescriptionAttribute attr = 
                   Attribute.GetCustomAttribute(field, 
                     typeof(DescriptionAttribute)) as DescriptionAttribute;
            if (attr != null)
            {
                return attr.Description;
            }
        }
    }
    return null; // 或抛出异常,视情况而定
}</code>
Nach dem Login kopieren

So verwenden Sie es:

<code class="language-csharp">public enum MyEnum
{
    [Description("Foo 的描述")]
    Foo,
    [Description("Bar 的描述")]
    Bar
}

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich C#-Enums benutzerfreundliche Namen geben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage