Maison >développement back-end >C++ >Comment récupérer l'attribut de description d'une énumération à partir de sa valeur entière en C# ?

Comment récupérer l'attribut de description d'une énumération à partir de sa valeur entière en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-24 20:31:10645parcourir

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

Obtenez une description d'énumération en C # Selon la valeur

En C #, l'ascenseur peut avoir un attribut de description associé, qui fournit du texte descriptif pour chaque valeur d'énumération. Sur la base de la description de la recherche de cône, vous pouvez utiliser les étapes suivantes:

    Créez une énumération avec l'attribut description:
<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("另一个描述")]
    HereIsAnother = 2,
    [Description("最后一个描述")]
    LastOne = 3
}</code>
    Définissez une fonction pour récupérer la description:
<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>
    en utilisant cette fonction pour obtenir la description de la valeur d'énumération:
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
                         select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
Maintenant, vous devez récupérer la description de la valeur en fonction de sa valeur entière, vous pouvez:

<code class="language-csharp">int value = 1;
string description = GetEnumDescription((MyEnum)value);</code>
Cela convertira la valeur entière en un type d'énumération et le passera à la fonction GetEnumDescript, qui renverra la description correspondante.

Cette réponse révisée maintient l'image d'origine et son formatage, tout en récompensant le texte pour une clarté et un flux améliorés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn