首頁 > 後端開發 > C++ > 如何為 C# 枚舉提供友善名稱?

如何為 C# 枚舉提供友善名稱?

Mary-Kate Olsen
發布: 2025-01-19 11:26:10
原創
542 人瀏覽過

How Can I Give Friendly Names to C# Enums?

為 C# 枚舉設定更友善的名稱

C#程式設計中,枚舉用於定義一組固定的值,枚舉變數只能取列舉中定義的值。然而,預設情況下,枚舉成員只是數值,在某些情況下不夠直觀。因此,問題是如何為枚舉賦予更友善的名稱。

使用 Description 屬性的解

為了給枚舉成員更容易理解的名稱,可以使用 Description 屬性。這允許為每個枚舉成員指定一個描述性文字字串。然後,可以使用擴充方法來取得此描述:

<code class="language-csharp">public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    if (name != null)
    {
        FieldInfo field = type.GetField(name);
        if (field != null)
        {
            DescriptionAttribute attr = 
                   Attribute.GetCustomAttribute(field, 
                     typeof(DescriptionAttribute)) as DescriptionAttribute;
            if (attr != null)
            {
                return attr.Description;
            }
        }
    }
    return null; // 或抛出异常,视情况而定
}</code>
登入後複製

使用方法如下:

<code class="language-csharp">public enum MyEnum
{
    [Description("Foo 的描述")]
    Foo,
    [Description("Bar 的描述")]
    Bar
}

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();</code>
登入後複製

以上是如何為 C# 枚舉提供友善名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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