Heim >Backend-Entwicklung >C++ >Wie kann ich benutzerfreundliche Zeichenfolgen aus Enums in C# erhalten?

Wie kann ich benutzerfreundliche Zeichenfolgen aus Enums in C# erhalten?

Linda Hamilton
Linda HamiltonOriginal
2025-01-23 03:47:08802Durchsuche

How Can I Get User-Friendly Strings from Enums in C#?

Aufzählungen mit für Menschen lesbaren Zeichenfolgen in C# anzeigen

Enums sind für die Darstellung benannter Konstanten wertvoll, aber die direkte Anzeige ihrer Werte ist für Benutzer oft nicht klar. In dieser Anleitung wird gezeigt, wie Sie Enum-Werte benutzerfreundlichen Zeichenfolgen zuordnen, ohne die umgekehrte Zeichenfolge-in-Wert-Konvertierung durchzuführen.

Die Lösung nutzt das Description-Attribut von System.ComponentModel. Indem Sie dieses Attribut auf Ihre Enum-Mitglieder anwenden, stellen Sie für jeden Wert eine aussagekräftigere Bezeichnung bereit.

Beispiel:

<code class="language-csharp">private enum PublishStatusValue
{
    [Description("Not Completed")]
    NotCompleted,
    Completed,
    Error
}</code>

Benutzerfreundliche Zeichenfolgen abrufen:

Die folgende Erweiterungsmethode ruft die Beschreibung oder die Standardzeichenfolgendarstellung der Aufzählung ab, wenn keine Beschreibung gefunden wird:

<code class="language-csharp">public static string GetDescription<T>(this T enumerationValue)
    where T : struct
{
    Type type = enumerationValue.GetType();
    if (!type.IsEnum)
    {
        throw new ArgumentException("EnumerationValue must be of Enum type", "enumerationValue");
    }

    MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString());
    if (memberInfo != null && memberInfo.Length > 0)
    {
        object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
        if (attrs != null && attrs.Length > 0)
        {
            return ((DescriptionAttribute)attrs[0]).Description;
        }
    }
    return enumerationValue.ToString();
}</code>

Diese Methode sorgt effizient für eine benutzerfreundliche Ausgabe und verbessert die Lesbarkeit des Codes und die Benutzererfahrung.

Das obige ist der detaillierte Inhalt vonWie kann ich benutzerfreundliche Zeichenfolgen aus Enums in C# erhalten?. 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