Maison >développement back-end >C++ >Puis-je attribuer des noms conviviaux aux membres Enum en C# ?

Puis-je attribuer des noms conviviaux aux membres Enum en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-19 11:12:09724parcourir

Can I Assign Friendly Names to Enum Members in C#?

Les énumérations C# peuvent-elles utiliser des noms conviviaux ?

Comme vous l'avez découvert, les membres d'une énumération C# ne peuvent avoir que des noms littéraux, avec des traits de soulignement comme délimiteurs. Cependant, il existe un moyen d'attribuer un « nom convivial » à votre énumération.

Solution : Attribut Description

Vous pouvez utiliser l'attribut DescriptionAttribute pour fournir une description plus conviviale pour chaque membre de l'énumération. Voici une méthode d'extension qui simplifie la récupération des descriptions :

<code class="language-csharp">public static string GetDescription(this Enum value)
{
    Type type = value.GetType();
    string name = Enum.GetName(type, value);
    FieldInfo field = type.GetField(name);
    DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
    return attr != null ? attr.Description : null;
}</code>

Utilisation :

Appliquez DescriptionAttribute à chaque membre de l'énumération et indiquez le nom convivial souhaité :

<code class="language-csharp">public enum MyEnum
{
    [Description("此名称有效")]
    ThisNameWorks,
    [Description("此名称无效")]
    ThisNameDoesntWork,
    [Description("这个也不行")]
    NeitherDoesThis
}</code>

Pour récupérer des noms conviviaux :

<code class="language-csharp">MyEnum x = MyEnum.ThisNameWorks;
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!

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