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:
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; }
Verwendung:
Wenden Sie DescriptionAttribute
auf jedes Enum-Mitglied an und geben Sie den gewünschten Anzeigenamen an:
public enum MyEnum { [Description("此名称有效")] ThisNameWorks, [Description("此名称无效")] ThisNameDoesntWork, [Description("这个也不行")] NeitherDoesThis }
So rufen Sie benutzerfreundliche Namen ab:
MyEnum x = MyEnum.ThisNameWorks; string description = x.GetDescription();
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!