Maison > développement back-end > C++ > Comment puis-je donner des noms conviviaux aux énumérations C# ?

Comment puis-je donner des noms conviviaux aux énumérations C# ?

Mary-Kate Olsen
Libérer: 2025-01-19 11:26:10
original
495 Les gens l'ont consulté

How Can I Give Friendly Names to C# Enums?

Définissez des noms plus conviviaux pour les énumérations C#

En programmation C#, les énumérations sont utilisées pour définir un ensemble fixe de valeurs. Les variables d'énumération ne peuvent prendre que les valeurs définies dans l'énumération. Cependant, par défaut, les membres de l'énumération ne sont que des valeurs numériques, ce qui n'est pas assez intuitif dans certains cas. La question est donc de savoir comment donner à l’énumération un nom plus convivial.

Solution utilisant l'attribut Description

Pour donner aux membres de l'énumération des noms plus compréhensibles, vous pouvez utiliser l'attribut Description. Cela permet de spécifier une chaîne de texte descriptive pour chaque membre de l'énumération. Cette description peut ensuite être obtenue grâce à une méthode d'extension :

<code class="language-csharp">public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    if (name != null)
    {
        FieldInfo field = type.GetField(name);
        if (field != null)
        {
            DescriptionAttribute attr = 
                   Attribute.GetCustomAttribute(field, 
                     typeof(DescriptionAttribute)) as DescriptionAttribute;
            if (attr != null)
            {
                return attr.Description;
            }
        }
    }
    return null; // 或抛出异常,视情况而定
}</code>
Copier après la connexion

Comment l'utiliser :

<code class="language-csharp">public enum MyEnum
{
    [Description("Foo 的描述")]
    Foo,
    [Description("Bar 的描述")]
    Bar
}

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal