当前位置:编程学习 > C#/ASP.NET >>

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# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,