將 C# 枚舉對應到字串:解決方法
C# 枚舉本質上使用整數類型,限制了它們與字串的直接關聯。 然而,一些有效的策略克服了這個限制。
一種方法利用類別屬性。 透過定義具有字串屬性的類,我們創建了一個模仿枚舉行為的結構:
<code class="language-csharp">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 }</code>
這允許對字串表示進行類型安全的存取:
<code class="language-csharp">public static void WriteLog(string message, LogCategory category) { Logger.Write(message, category.Value); } // Usage: WriteLog("Log message", LogCategory.Info);</code>
或者,可以直接使用型別安全的字串參數:
<code class="language-csharp">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");</code>
這兩種方法都增強了程式碼的可讀性和靈活性,在需要字串表示時為標準枚舉的限制提供了實用的替代方案。 請注意,第二種方法需要仔細驗證以確保僅使用有效的字串類別。
以上是如何將 C# 枚舉映射到字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!