C# 枚舉的限制在於其底層類型必須是整數,這可能會阻礙創建表示難以理解的程式碼的枚舉。為了解決這個問題,可以考慮幾種替代方法。
一種技巧是在類別中使用屬性。這種方法提供了更類似枚舉的語法,同時保持了使用字串作為值的靈活性。例如,一個 Logger 類別可以定義屬性來表示日誌記錄類別:
<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>
另一個選擇是將類型安全的字串值作為參數傳遞給方法。這種方法允許創建接受特定字串值的強類型方法。 Logger 類別中此類方法的一個範例:
<code class="language-csharp">public static void Write(string message, LogCategory logCategory) { var log = new LogEntry { Message = message }; Logger.Write(log, logCategory.Value); }</code>
使用方法:
<code class="language-csharp">Logger.Write("这几乎就像一个枚举。", LogCategory.Info);</code>
這兩種技術都提供了替代枚舉來表示難以理解的程式碼的方法,提供了型別安全性和可讀性的好處。
以上是如何使用可讀的類別枚舉結構來表示 C# 中難以理解的程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!