C# 获取Enum 描述和值集合

        //获取枚举的值
public static IEnumerable<T> GetEnumValues<T>() where T : struct { T[] values = (T[])Enum.GetValues(typeof(T)); foreach (var itemValue in values) { if (Convert.ToInt32(itemValue) != 0) { yield return itemValue; } } }

 

                Dictionary<int, string> dicRet = new Dictionary<int, string>();
                //获取Enums的值
                var resonlist = EnumsHelper.GetEnumValues<MakeSureComplaintReson>();

                foreach (var item in resonlist)
                {
                    dicRet.Add((int)item, item.GetDescription());
                }
                return dicRet;

 

   
    public enum MakeSureComplaintReson
    {
        [Description("a")]
        reson1 = 1,
        [Description("b")]
        reson2 = 2,
        [Description("c")]
        reson3 = 3,
        [Description("其它")]
        reson9 = 9
    }

 

最终得到的结果:

[{1,'a'},{2,'b'},{3,'c'},{9,'其它'}]

 

posted @ 2017-09-05 09:33  微笑代表淡定.Net  阅读(1342)  评论(0编辑  收藏  举报