Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendapatkan Penerangan Enum daripada Nilai Integernya dalam C#?

Bagaimana untuk Mendapatkan Penerangan Enum daripada Nilai Integernya dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-24 20:46:11434semak imbas

How to Get an Enum's Description from its Integer Value in C#?

Mengakses Penerangan Enum daripada Nilai Integer dalam C#

Panduan ini menunjukkan cara mendapatkan teks deskriptif yang dikaitkan dengan ahli enum menggunakan perwakilan integernya dalam C#. Fungsi teras bergantung pada kaedah pembantu:

Berikut ialah kaedah statik, GetEnumDescription, yang direka untuk mendapatkan huraian:

<code class="language-csharp">public static string GetEnumDescription(Enum value)
{
    var fi = value.GetType().GetField(value.ToString());
    var attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
    return attributes != null && attributes.Length > 0 ? attributes[0].Description : value.ToString();
}</code>

Kaedah ini cekap mengekstrak DescriptionAttribute jika ada; jika tidak, ia mengembalikan nama ahli enum.

Untuk menggunakan kaedah ini dengan nilai integer, hanya hantar integer ke jenis enum anda:

<code class="language-csharp">int intValue = 1;
string description = Enumerations.GetEnumDescription((MyEnum)intValue);</code>

Coretan kod ini menghantar intValue ke MyEnum sebelum menghantarnya ke GetEnumDescription, sekali gus mendapatkan huraian yang sepadan dengan ahli enum dengan nilai integer 1. Pendekatan ini menyediakan cara yang bersih dan cekap untuk mengakses teks deskriptif ahli enum menggunakan setara integer mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Penerangan Enum daripada Nilai Integernya 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