首页 > 后端开发 > C++ > 如何有效地将 C# 枚举映射到字符串?

如何有效地将 C# 枚举映射到字符串?

Patricia Arquette
发布: 2025-01-13 18:21:43
原创
459 人浏览过

How Can I Map C# Enumerations to Strings Effectively?

有效地将 C# 枚举映射到字符串

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板