Maison > développement back-end > C++ > Comment puis-je obtenir des chaînes conviviales à partir d'énumérations en C# ?

Comment puis-je obtenir des chaînes conviviales à partir d'énumérations en C# ?

Linda Hamilton
Libérer: 2025-01-23 03:47:08
original
796 Les gens l'ont consulté

How Can I Get User-Friendly Strings from Enums in C#?

Affichage des énumérations avec des chaînes lisibles par l'homme en C#

Les énumérations sont utiles pour représenter des constantes nommées, mais l'affichage direct de leurs valeurs manque souvent de clarté pour les utilisateurs. Ce guide montre comment mapper des valeurs d'énumération à des chaînes conviviales sans la conversion inverse de chaîne en valeur.

La solution exploite l'attribut Description de System.ComponentModel. En appliquant cet attribut aux membres de votre énumération, vous fournissez une étiquette plus descriptive pour chaque valeur.

Exemple :

<code class="language-csharp">private enum PublishStatusValue
{
    [Description("Not Completed")]
    NotCompleted,
    Completed,
    Error
}</code>
Copier après la connexion

Récupération de chaînes conviviales :

La méthode d'extension suivante récupère la description ou la représentation sous forme de chaîne par défaut de l'énumération si aucune description n'est trouvée :

<code class="language-csharp">public static string GetDescription<T>(this T enumerationValue)
    where T : struct
{
    Type type = enumerationValue.GetType();
    if (!type.IsEnum)
    {
        throw new ArgumentException("EnumerationValue must be of Enum type", "enumerationValue");
    }

    MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString());
    if (memberInfo != null && memberInfo.Length > 0)
    {
        object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
        if (attrs != null && attrs.Length > 0)
        {
            return ((DescriptionAttribute)attrs[0]).Description;
        }
    }
    return enumerationValue.ToString();
}</code>
Copier après la connexion

Cette méthode fournit efficacement une sortie conviviale, améliorant la lisibilité du code et l'expérience utilisateur.

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!

source:php.cn
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