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!