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 サイトの他の関連記事を参照してください。