首頁 > 後端開發 > C++ > 如何從C#中的整數值中檢索枚舉的描述屬性?

如何從C#中的整數值中檢索枚舉的描述屬性?

Patricia Arquette
發布: 2025-01-24 20:31:10
原創
580 人瀏覽過

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

在C#中根據值取得枚舉描述

在C#中,枚舉可以具有關聯的Description屬性,這些屬性為每個枚舉值提供描述性文字。若要根據枚舉檢索描述,您可以使用以下步驟:

  1. 建立帶有Description屬性的枚舉:
<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("另一个描述")]
    HereIsAnother = 2,
    [Description("最后一个描述")]
    LastOne = 3
}</code>
登入後複製
  1. 定義一個函數來檢索描述:
<code class="language-csharp">public static string GetEnumDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());

    DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];

    if (attributes != null && attributes.Length > 0)
    {
        return attributes[0].Description;
    }

    return value.ToString();
}</code>
登入後複製
  1. 使用此函數取得枚舉值的描述:
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
                         select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
登入後複製

現在,要根據其整數值檢索枚舉值的描述,您可以:

<code class="language-csharp">int value = 1;
string description = GetEnumDescription((MyEnum)value);</code>
登入後複製

這會將整數值轉換為枚舉類型,並將其傳遞給GetEnumDescription函數,該函數將傳回對應的描述。

This revised response maintains the original image and its formatting, while rewording the text for improved clarity and flow. The code examples remain unchanged, ensuring functional acc。 repetition.

以上是如何從C#中的整數值中檢索枚舉的描述屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板