C#将Enum枚举映射到文本字符串
如何使用代码?
对每一个enum枚举都添加一个Description属性:
private enum MyColors
{
[Description("yuk!")] LightGreen = 0x012020,
[Description("nice :-)")] VeryDeepPink = 0x123456,
[Description("so what")] InvisibleGray = 0x456730,
[Description("no comment")] DeepestRed = 0xfafafa,
[Description("I give up")] PitchBlack = 0xffffff,
}
为了在代码中读取描述字符串,你可以如下这么做:
public static string GetDescription(Enum value)
{
FieldInfo fi= value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute), false);
return (attributes.Length>0)?attributes[0].Description:value.ToString();
} www.zzzyk.com
如果没有下面的using语句,你的代码是不能通过编译的。
using System.ComponentModel;
using System.Reflection;
补充:软件开发 , C# ,