Während C#-Aufzählungen von Natur aus ganzzahligen Werten zugeordnet werden, verbessert die effektive Verknüpfung mit beschreibenden Zeichenfolgen die Lesbarkeit und Wartbarkeit. In diesem Artikel werden Techniken untersucht, die über die grundlegende Enum-Definition hinausgehen, um dies zu erreichen.
Eine robuste Methode beinhaltet die Verwendung statischer Eigenschaften innerhalb einer Klasse. Dieser Ansatz bietet eine ähnliche Benutzererfahrung wie Aufzählungen, ermöglicht jedoch die direkte Darstellung von Zeichenfolgen. Hier ist ein Beispiel mit einer LogCategory
-Klasse:
<code class="language-csharp">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; } }</code>
Diese Klasse spiegelt die Enum-Funktionalität wider. Die Eigenschaft Value
enthält die Zeichenfolgendarstellung, auf die über statische Eigenschaften wie LogCategory.Info
.
Anwendungsbeispiel:
<code class="language-csharp">public static void WriteLog(string message, LogCategory category) { var logEntry = new LogEntry { Message = message }; Logger.Write(logEntry, category.Value); } // Example call WriteLog("This is a log message.", LogCategory.Warning);</code>
Dieser Ansatz behält die Klarheit und Benutzerfreundlichkeit von Aufzählungen bei und stellt gleichzeitig die erforderlichen Zeichenfolgenzuordnungen für eine verbesserte Codeklarheit bereit.
Das obige ist der detaillierte Inhalt vonWie kann ich C#-Aufzählungen effektiv Strings zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!