Maison > développement back-end > C++ > Comment puis-je améliorer la lisibilité des énumérations en utilisant des descriptions personnalisées ?

Comment puis-je améliorer la lisibilité des énumérations en utilisant des descriptions personnalisées ?

Patricia Arquette
Libérer: 2025-01-19 11:22:10
original
554 Les gens l'ont consulté

How Can I Improve Enum Readability by Using Custom Descriptions?

Amélioration de la lisibilité des énumérations : utilisation de descriptions personnalisées

Une discussion précédente portait sur l'attribution de noms descriptifs aux valeurs d'énumération. Pour élaborer :

Bien que l'exemple d'énumération contienne des valeurs avec des espaces et des points, les noms d'énumération doivent suivre des conventions de dénomination spécifiques : généralement des mots simples sans ponctuation ni espaces.

Pour des valeurs d'énumération plus conviviales, exploitez l'attribut Description. Cet attribut vous permet d'ajouter une chaîne descriptive à chaque membre de l'énumération, améliorant considérablement la clarté du code.

Voici une méthode d'extension utile pour récupérer facilement ces descriptions :

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;
}
Copier après la connexion

Cette méthode simplifie l'accès à la description de n'importe quelle valeur d'énumération. Voir l'exemple ci-dessous :

public enum MyEnum
{
    [Description("Description for Foo")]
    Foo,
    [Description("Description for Bar")]
    Bar
}

MyEnum x = MyEnum.Foo;
string description = x.GetDescription();
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!

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