Use Attribute for Enum description
本问题已经有最佳答案,请猛点这里访问。
我有一个枚举,想要为每个值添加一个描述。我读了一些关于属性的东西,可以解决我的问题。我尝试从msdn实现解决方案,但没有成功。如果IAM使用一个类,但不使用枚举值,则它可以工作。
有没有可能有人会贴出它的工作原理?
当做
这里有一个链接到msdn解决方案。这就是我要做的。唯一的区别是我想使用枚举值。
http://msdn.microsoft.com/de de/library/aa288454(v=vs.71).aspx
例子:
1 2 3 4 5 6 7 | public enum Color { [Description("This is red")] Red, [Description("This is blue")] Blue } |
如何获取描述,以及如何实现描述类/方法?
像这样的东西
1 2 3 4 5 6 7 8 9 10 | using System.ComponentModel; public enum MyColors{ [Description("Editor Color")] White, [Description("Errors Color")] Red, [Description("Comments Color")] Green } |
尝试此枚举
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public enum MyColors{ [Description("Editor Color")] White, [Description("Errors Color")] Red, [Description("Comments Color")] Green } var type = typeof(MyColors); var memInfo = type.GetMember(MyColors.White.ToString()); var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); var description = ((DescriptionAttribute)attributes[0]).Description; |