C# 讓枚舉返回字符串


下面的手段是使用給枚舉項打標簽的方式,來返回字符串

分別定義一個屬性類,一個枚舉幫助類

 

 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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM