下面的手段是使用給枚舉項打標簽的方式,來返回字符串
分別定義一個屬性類,一個枚舉幫助類
1 /// <summary> 2 /// 自定義屬性 3 /// </summary> 4 [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] 5 public sealed class EnumDescriptionAttribute : Attribute 6 { 7 private string description; 8 public string Description { get { return description; } } 9 10 public EnumDescriptionAttribute(string description) 11 : base() 12 { 13 this.description = description; 14 } 15 } 16 17 /// <summary> 18 /// 獲取枚舉字符串 19 /// </summary> 20 public static class EnumHelper 21 { 22 public static string GetDescription(Enum value) 23 { 24 if (value == null) 25 { 26 throw new ArgumentException("value"); 27 } 28 string description = value.ToString(); 29 var fieldInfo = value.GetType().GetField(description); 30 var attributes = 31 (EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false); 32 if (attributes != null && attributes.Length > 0) 33 { 34 description = attributes[0].Description; 35 } 36 return description; 37 } 38 }
1 enum Week 2 { 3 [EnumDescription("星期一")] 4 Monday, 5 [EnumDescription("星期二")] 6 Tuesday 7 } 8 9 //下面打印結果為: 星期一 10 Console.WriteLine(EnuHelper.GetDescription(Week.Monday))
轉載:http://www.cnblogs.com/xjxz/p/4649016.html