C# 枚舉能否使用友善的名稱?
如您所發現的,C# 列舉成員只能使用文字名稱,並以以下方式劃線作為分隔符號。但是,有一種方法可以為您的枚舉分配“友好的名稱”。
解:Description 屬性
您可以使用 DescriptionAttribute
屬性為每個枚舉成員提供更友善的描述。以下是一個簡化檢索描述的擴充方法:
<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>
使用方法:
將 DescriptionAttribute
套用於每個枚舉成員並提供所需的友善名稱:
<code class="language-csharp">public enum MyEnum { [Description("此名称有效")] ThisNameWorks, [Description("此名称无效")] ThisNameDoesntWork, [Description("这个也不行")] NeitherDoesThis }</code>
要檢索友善名稱:
<code class="language-csharp">MyEnum x = MyEnum.ThisNameWorks; string description = x.GetDescription();</code>
以上是我可以在 C# 中為枚舉成員指定友善名稱嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!