Heim >Backend-Entwicklung >C++ >Kann ich Enum-Mitgliedern in C# Anzeigenamen zuweisen?
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!