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
Libérer: 2025-01-19 11:12:09
original
760 Les gens l'ont consulté

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 :

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

Utilisation :

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

public enum MyEnum
{
    [Description("此名称有效")]
    ThisNameWorks,
    [Description("此名称无效")]
    ThisNameDoesntWork,
    [Description("这个也不行")]
    NeitherDoesThis
}
Copier après la connexion

Pour récupérer des noms conviviaux :

MyEnum x = MyEnum.ThisNameWorks;
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal