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

Comment puis-je associer des chaînes à des énumérations en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-13 18:17:43592parcourir

How Can I Associate Strings with Enums in C#?

Association de chaînes à des énumérations en C#

La création d'énumérations avec des valeurs de chaîne n'est pas directement prise en charge en C# en raison de la nature entière intrinsèque des énumérations. Cependant, il existe plusieurs options alternatives pour obtenir des fonctionnalités similaires.

Propriétés d'une classe :

Une approche consiste à utiliser les propriétés au sein d'une classe. Les propriétés ressemblent à des énumérations tout en offrant la flexibilité d'utiliser des valeurs de chaîne. Par exemple, considérons la classe suivante :

public class LogCategory
{
    private LogCategory(string value) { Value = value; }

    public string Value { get; private set; }

    public static LogCategory Trace { get { return new LogCategory("Trace"); } }
    public static LogCategory Debug { get { return new LogCategory("Debug"); } }
    ...
}

Paramètres de chaîne de type sécurisé :

Une autre option consiste à transmettre des valeurs de chaîne de type sécurisé en tant que paramètres aux méthodes. Cela garantit la lisibilité et la sécurité du code. Par exemple :

public static void Write(string message, LogCategory logCategory)
{
    var log = new LogEntry { Message = message };
    Logger.Write(log, logCategory.Value);
}

Utilisation :

Les deux approches permettent une utilisation intuitive et lisible :

Logger.Write("This is almost like an enum.", LogCategory.Info);

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