C# では、列挙値に、各列挙値の説明テキストを提供する説明プロパティを関連付けることができます。列挙に基づいて説明を取得するには、次の手順を使用できます:
<code class="language-csharp">public enum MyEnum { Name1 = 1, [Description("另一个描述")] HereIsAnother = 2, [Description("最后一个描述")] LastOne = 3 }</code>
<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>
<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 サイトの他の関連記事を参照してください。