Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Nilai Enum Menggunakan Penerangannya dalam C#?

Bagaimanakah Saya Boleh Mendapatkan Nilai Enum Menggunakan Penerangannya dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-21 21:21:10
asal
304 orang telah melayarinya

How Can I Retrieve an Enum Value Using Its Description in C#?

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

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!

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