ホームページ > バックエンド開発 > C++ > c#の整数値からenumの説明属性を取得する方法は?

c#の整数値からenumの説明属性を取得する方法は?

Patricia Arquette
リリース: 2025-01-24 20:31:10
オリジナル
572 人が閲覧しました

How to Retrieve an Enum's Description Attribute from its Integer Value in C#?

C# の値に基づいて列挙型の説明を取得します

C# では、列挙値に、各列挙値の説明テキストを提供する説明プロパティを関連付けることができます。列挙に基づいて説明を取得するには、次の手順を使用できます:

  1. 説明プロパティを使用して列挙を作成します:
<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("另一个描述")]
    HereIsAnother = 2,
    [Description("最后一个描述")]
    LastOne = 3
}</code>
ログイン後にコピー
  1. 説明を取得する関数を定義します:
<code class="language-csharp">public static string GetEnumDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());

    DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];

    if (attributes != null && attributes.Length > 0)
    {
        return attributes[0].Description;
    }

    return value.ToString();
}</code>
ログイン後にコピー
  1. この関数を使用して列挙値の説明を取得します:
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
                         select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
ログイン後にコピー

ここで、整数値に基づいて列挙値の説明を取得するには、次のことができます。

<code class="language-csharp">int value = 1;
string description = GetEnumDescription((MyEnum)value);</code>
ログイン後にコピー

これにより、整数値が列挙型に変換され、GetEnumDescription 関数に渡され、対応する説明が返されます。

この改訂された応答では、元の画像とその書式設定が維持されていますが、コード例は変更されておらず、機能の正確性が確保されています。

以上がc#の整数値からenumの説明属性を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート