Maison >développement back-end >C++ >Puis-je attribuer des noms conviviaux aux membres Enum en 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!