首頁 > 後端開發 > C++ > 我可以在 C# 中為枚舉成員指定友善名稱嗎?

我可以在 C# 中為枚舉成員指定友善名稱嗎?

Patricia Arquette
發布: 2025-01-19 11:12:09
原創
707 人瀏覽過

Can I Assign Friendly Names to Enum Members in C#?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板