Associer des enums avec des chaines en C#

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Associer des enums avec des chaines en C#

Message par ForumBot »

Associer des enums avec des chaines en C#

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Associer des enums avec des chaines en C#

Message par ayi »

Nous aimons utiliser des proprietes dans une classe au lieu de methodes, car elles ressemblent davantage a un enum.


Voici un exemple pour un Logger :


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"); } }
public static LogCategory Info { get { return new LogCategory("Info"); } }
public static LogCategory Warning { get { return new LogCategory("Warning"); } }
public static LogCategory Error { get { return new LogCategory("Error"); } }

public override string ToString()
{
return Value;
}
}


Passez des valeurs de chaine type-safe comme parametre :


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


Utilisation :


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

Répondre

Revenir à « .NET & C# »