Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Memberi Nama Mesra kepada C# Enums?

Bagaimanakah Saya Boleh Memberi Nama Mesra kepada C# Enums?

Mary-Kate Olsen
Lepaskan: 2025-01-19 11:26:10
asal
495 orang telah melayarinya

How Can I Give Friendly Names to C# Enums?

Tetapkan nama yang lebih mesra untuk C# enum

Dalam pengaturcaraan C#, penghitungan digunakan untuk menentukan set nilai tetap Pembolehubah penghitungan hanya boleh mengambil nilai yang ditentukan dalam penghitungan. Walau bagaimanapun, secara lalai, ahli penghitungan hanyalah nilai berangka, yang tidak cukup intuitif dalam beberapa kes. Jadi persoalannya ialah bagaimana untuk memberikan penghitungan nama yang lebih mesra.

Penyelesaian menggunakan atribut Penerangan

Untuk memberi ahli penghitungan nama yang lebih mudah difahami, anda boleh menggunakan atribut Penerangan. Ini membolehkan rentetan teks deskriptif ditentukan untuk setiap ahli penghitungan. Penerangan ini kemudiannya boleh diperoleh menggunakan kaedah sambungan:

<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>
Salin selepas log masuk

Cara menggunakannya:

<code class="language-csharp">public enum MyEnum
{
    [Description("Foo 的描述")]
    Foo,
    [Description("Bar 的描述")]
    Bar
}

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memberi Nama Mesra kepada C# Enums?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan