Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Nama Mesra dengan Nilai Enum Fleksibel dalam C#?

Bagaimanakah Saya Boleh Menggunakan Nama Mesra dengan Nilai Enum Fleksibel dalam C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-19 11:07:10479semak imbas

How Can I Use Friendly Names with Flexible Enum Values in C#?

Petua untuk menggunakan nama mesra dan nilai enum yang fleksibel dalam C#

Jenis penghitungan selalunya perlu diberi nama yang lebih bermakna untuk meningkatkan kebolehbacaan dan kebolehfahaman kod. Walau bagaimanapun, penggunaan penghitungan tradisional mempunyai beberapa batasan dalam hal ini.

Contohnya:

<code class="language-c#">public enum myEnum
{
    ThisNameWorks,
    This Name doesn'tWork,
    Neither.does.this;
}</code>

"ThisNameWorks" ialah nilai enum yang boleh diterima, tetapi nilai lain mempunyai masalah kerana mengandungi ruang dan aksara khas. Pada masa ini, atribut "Perihalan" berguna.

Atribut perihalan

Atribut Penerangan membolehkan anda menentukan "nama mesra" untuk setiap nilai penghitungan, yang kemudiannya boleh diambil menggunakan kaedah sambungan (ditunjukkan di bawah):

<code class="language-c#">public static string GetDescription(this Enum value)
{
    // 此处省略具体实现
}</code>

Contoh penggunaan

Dengan kaedah sambungan ini, anda boleh menentukan enum dengan penerangan mesra pengguna:

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

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();</code>

Pendekatan ini membolehkan anda membuat penghitungan yang mempunyai nilai boleh dibaca mesin dan penerangan boleh dibaca manusia, meningkatkan kebolehselenggaraan kod dan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Nama Mesra dengan Nilai Enum Fleksibel dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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