ホームページ >バックエンド開発 >C++ >C# 列挙型にフレンドリ名を付けるにはどうすればよいですか?

C# 列挙型にフレンドリ名を付けるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-19 11:26:10498ブラウズ

How Can I Give Friendly Names to C# Enums?

C# 列挙型にわかりやすい名前を設定します

C# プログラミングでは、列挙型変数は、列挙型で定義された値のみを受け取ることができます。ただし、デフォルトでは列挙メンバーは単なる数値であるため、場合によっては十分に直感的ではありません。したがって、問題は、列挙型にどのようにしてわかりやすい名前を付けるかということです。

説明属性を使用したソリューション

列挙メンバーにわかりやすい名前を付けるには、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。