Maison > développement back-end > C++ > Comment puis-je mapper des énumérations C# sur des chaînes ?

Comment puis-je mapper des énumérations C# sur des chaînes ?

Mary-Kate Olsen
Libérer: 2025-01-13 18:06:47
original
880 Les gens l'ont consulté

How Can I Map C# Enums to Strings?

Mappage des énumérations C# en chaînes : solutions de contournement

Les énumérations C# utilisent par nature des types entiers, limitant leur association directe avec des chaînes. Cependant, plusieurs stratégies efficaces permettent de surmonter cette limitation.

Une approche exploite les propriétés de classe. En définissant une classe avec des propriétés de chaîne, nous créons une structure qui imite le comportement d'une énumération :

public class LogCategory
{
    public string Value { get; private set; }

    public static LogCategory Trace { get; } = new LogCategory("Trace");
    public static LogCategory Info { get; } = new LogCategory("Info");
    // ... other categories
}
Copier après la connexion

Cela permet un accès sécurisé aux représentations sous forme de chaîne :

public static void WriteLog(string message, LogCategory category)
{
    Logger.Write(message, category.Value);
}

// Usage:
WriteLog("Log message", LogCategory.Info);
Copier après la connexion

Alternativement, les paramètres de chaîne de type sécurisé peuvent être directement utilisés :

public static void WriteLog(string message, string category)
{
    // Add validation to ensure category is a valid value
    Logger.Write(message, category);
}

// Usage:
WriteLog("Log message", "Info");
Copier après la connexion

Les deux méthodes améliorent la lisibilité et la flexibilité du code, offrant des alternatives pratiques aux limitations des énumérations standard lorsqu'une représentation sous forme de chaîne est nécessaire. Notez que la deuxième approche nécessite une validation minutieuse pour garantir que seules des catégories de chaînes valides sont utilisées.

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
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