Meningkatkan C# Enums: Mendapatkan Nilai Mengikut Penerangan
Artikel ini menunjukkan teknik yang berkuasa untuk meningkatkan kefungsian C# enum. Kami akan menumpukan pada mendapatkan semula nilai enum dengan cekap menggunakan atribut perihalannya. Pendekatan ini menawarkan peningkatan fleksibiliti dan memudahkan pembangunan kod.
Penyelesaian melibatkan kelas pembantu statik, EnumEx
, yang mengandungi kaedah generik: GetValueFromDescription
. Kaedah ini menerima rentetan penerangan dan jenis enum sebagai input. Ia kemudian melelang melalui medan enum, menggunakan refleksi untuk mencari DescriptionAttribute
. Jika padanan ditemui antara perihalan atribut dan rentetan input, nilai enum yang sepadan dikembalikan.
Jika tiada DescriptionAttribute
hadir, kaedah akan kembali untuk membandingkan nama medan dengan penerangan input. Jika padanan ditemui di sini, nilai enum yang sepadan dikembalikan. Jika tidak, ArgumentException
dilemparkan (atau nilai enum lalai dikembalikan, bergantung pada keutamaan pelaksanaan).
Kaedah ini membolehkan mendapatkan semula nilai enum secara langsung menggunakan penerangan:
<code class="language-csharp">var panda = EnumEx.GetValueFromDescription<animal>("Giant Panda");</code>
Sambungan ini dengan ketara meningkatkan kebolehselenggaraan dan kebolehbacaan kod dengan menawarkan cara yang lebih bersih untuk mengakses nilai enum berdasarkan penerangannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Enum Menggunakan Penerangannya dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!