虽然 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中文网其他相关文章!