列挙型の可読性の向上: カスタム説明の使用
前の説明では、列挙値にわかりやすい名前を割り当てる方法について説明しました。 詳しく説明すると:
列挙型の例にはスペースとピリオドを含む値が含まれていますが、列挙型名は特定の命名規則 (通常は句読点やスペースのない単一の単語) に従う必要があります。
よりユーザーフレンドリーな列挙値を得るには、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("Description for Foo")] Foo, [Description("Description for Bar")] Bar } MyEnum x = MyEnum.Foo; string description = x.GetDescription();</code>
以上がカスタム説明を使用して列挙型の可読性を向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。