CSharp - 不使用反射的enum 值的获取

  显示原文与译文双语对照的内容
0 0

首先使用枚举的原因是为错误代码开发一个目录,并使用 Description 属性来保留实际错误信息。 我可以使用反射获取 Description 属性的值,但我的问题是: 是否有其他方法获取该属性的值而不使用反射? 例如 C# 中有 Enum 类型,因此可以使用该类型来获取 enum 中属性的值?

**I 知道使用类开发数据模型是一个更好的习惯,enum 是一个老的习惯,因为我只是想知道。

时间: 原作者:

0 0

枚举根本不是一个老习惯。 它非常有用,但在这里讨论它将是关闭话题。

没有反射,我只能考虑某种映射:


class Program
{
 static void Main(string[] args)
 {
 var crazyValue = CrazyEnum.craZyValue1;
 var resonableValue = crazyValue.ToRreasonableString();
 }
}

enum CrazyEnum
{
 craZyValue1,
 CrazYvalUe2
}

static class CrazyEnumMap
{
 private static Dictionary<CrazyEnum, string> resonableStrings = new Dictionary<CrazyEnum, string>
 {
 { CrazyEnum.craZyValue1,"Hallo world!" },
 { CrazyEnum.CrazYvalUe2,"Hallo enum!" }
 };

 public static string ToRreasonableString(this CrazyEnum value)
 {
 return resonableStrings[value];
 }
}

原作者:
...