ホームページ > バックエンド開発 > C++ > C# で Enum メンバーにフレンドリ名を割り当てることはできますか?

C# で Enum メンバーにフレンドリ名を割り当てることはできますか?

Patricia Arquette
リリース: 2025-01-19 11:12:09
オリジナル
760 人が閲覧しました

Can I Assign Friendly Names to Enum Members in C#?

C# 列挙型ではフレンドリ名を使用できますか?

お気づきのとおり、C# の列挙メンバーは、区切り文字としてアンダースコアを使用したリテラル名のみを持つことができます。ただし、列挙に「わかりやすい名前」を割り当てる方法があります。

解決策: 説明属性

DescriptionAttribute 属性を使用すると、各列挙メンバーにわかりやすい説明を提供できます。以下は、説明の取得を簡素化する拡張メソッドです:

public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    FieldInfo field = type.GetField(name);
    DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
    return attr != null ? attr.Description : null;
}
ログイン後にコピー

使用法:

各列挙型メンバーに DescriptionAttribute を適用し、目的のフレンドリ名を指定します:

public enum MyEnum
{
    [Description("此名称有效")]
    ThisNameWorks,
    [Description("此名称无效")]
    ThisNameDoesntWork,
    [Description("这个也不行")]
    NeitherDoesThis
}
ログイン後にコピー

フレンドリ名を取得するには:

MyEnum x = MyEnum.ThisNameWorks;
string description = x.GetDescription();
ログイン後にコピー

以上がC# で Enum メンバーにフレンドリ名を割り当てることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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