雖然 C# 枚舉本質上映射到整數值,但將它們與描述性字串有效關聯可以增強可讀性和可維護性。本文探討了實現這一目標的基本枚舉定義之外的技術。
穩健的方法涉及在類別中使用靜態屬性。這種方法提供了與枚舉類似的用戶體驗,但允許直接字串表示。 這是使用 LogCategory
類別的範例:
<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>
此類反映了枚舉功能。 Value
屬性保存字串表示形式,可透過 LogCategory.Info
.
使用範例:
<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>
這種方法保留了枚舉的清晰度和易用性,同時提供必要的字串映射以提高程式碼清晰度。
以上是如何有效地將 C# 枚舉映射到字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!