在C#中将枚举与字符串关联

我知道以下是不可能的,因为Enumeration的类型必须是int

enum GroupTypes

{

TheGroup = "OEM",

TheOtherGroup = "CMB"

}

从我的数据库中,我得到了一个包含不完整代码(the

OEMCMBs)的字段。我想将此字段变成一个enum或其他可以理解的字段。因为如果目标是可读性,则解决方案应该简洁。

我还有什么其他选择?

回答:

我喜欢 而不是方法中使用 ,因为它们看起来更像枚举。

这是一个记录器的示例:

public class LogCategory

{

private LogCategory(string value) { Value = value; }

public string Value { get; 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 static void Write(string message, LogCategory logCategory)

{

var log = new LogEntry { Message = message };

Logger.Write(log, logCategory.Value);

}

用法:

Logger.Write("This is almost like an enum.", LogCategory.Info);

以上是 在C#中将枚举与字符串关联 的全部内容, 来源链接: utcz.com/qa/401617.html

回到顶部