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 :
<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>
Cette méthode simplifie l'accès à la description de n'importe quelle valeur d'énumération. Voir l'exemple ci-dessous :
<code class="language-csharp">public enum MyEnum { [Description("Description for Foo")] Foo, [Description("Description for Bar")] Bar } MyEnum x = MyEnum.Foo; string description = x.GetDescription();</code>
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!