获取枚举类集合的方法
2016-03-31 10:48
281 查看
原文链接:http://www.cnblogs.com/QingLang-Raymond/articles/5340250.html
在公司的项目开发中常遇到需要取枚举值的key value descpt 的情况,所以写了这个方法,通过异步直接获取了某个枚举的集合包返回到客户端给前段使用。
需要遍历的枚举
public enum AdvertiserOrgEnum : byte { /// <summary> /// 平台 /// </summary> [Description("平台")] Platform = 0, /// <summary> /// 加盟商 /// </summary> [Description("加盟商")] Merchant = 1, /// <summary> /// 便利店 /// </summary> [Description("便利店")] Store = 2, /// <summary> /// 权限平台使用 /// </summary> [Description("仅限平台使用")] OnlyPlatform = 4, /// <summary> /// 无 /// </summary> [Description("无")] Nothing = 5 }
遍历的方法
public string GetDictionaryAdvertiserOrgEnum() { //泛型储键值 Dictionary<string, string> dit = new Dictionary<string, string>(); //对应的值 和描述 string tmpValue = string.Empty; string Descpt = string.Empty; //AdvertiserOrgEnum 是需要获取集合的枚举 foreach (var value in Enum.GetValues(typeof (AdvertiserOrgEnum))) { object[] objAttrs = value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof (DescriptionAttribute), true); if (objAttrs != null && objAttrs.Length > 0) { DescriptionAttribute descAttr = objAttrs[0] as DescriptionAttribute; //枚举描述 Descpt = descAttr.Description; } //枚举值 tmpValue = Convert.ToInt32(value).ToString(); //value.toString(); 枚举名 dit.Add(tmpValue, Descpt); } //将对象转换成json字符串 return (new JavaScriptSerializer()).Serialize(dit); }
当然返回的是json的字符串,所以,前端可按需求自行转换
GetDictionaryAdvertiserOrgEnum: function () { var jsonlist; $.ajax({ type: "POST", url: "/Api/xxx/GetDictionaryAdvertiserOrgEnum", dataType: "json", success: function (data, textStatus) { //post成功 if (data) { var jsonObject = eval('(' + data + ')'); $.each(jsonObject, function (k, v) { jsonlist = { "key": k, "value": v }; AdvertiserOrgEnum.push(jsonlist); }); } }, }); },
参考的blogs:http://blog.csdn.net/razorluo/article/details/42707331
转载于:https://www.cnblogs.com/QingLang-Raymond/articles/5340250.html
相关文章推荐
- 获取枚举类集合的方法
- ASP.NET获取根目录的方法集合
- 在主方法中创建两个线程。线程1每隔一定时间(随机时间)产生随机数,打印后将该整数放到集合中; 共产生100个整数,全部产生后,睡眠30秒; 在线程2中唤醒睡眠的线程1,并获取线程1中的集合并打印内容
- php中获取文件扩展名方法集合
- 2.2.11 size方法——获取Map集合类的大小
- [转]C#获取当前路径的方法集合
- jquery之管理包装元素集合(从包装集获取元素,get()方法与index()方法的使用)
- 获取集合中元素的方法总结
- 一个有用的类,集合了建立、连接热点;获取本机ip和连接此热点的手机的ip地址等方法
- 获取网络图片的大小 改变 图片色值 灰度什么的方法集合-b
- Winform 获取应用程序 当前路径方法集合
- C#获取当前程序运行路径的方法集合
- JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
- C#获取当前程序运行路径的方法集合
- Java 获取Enumeration类型的集合方法
- C#获取当前程序运行路径的方法集合
- .net获取项目根目录方法集合
- C#获取当前程序运行路径的方法集合
- Winform获取应用程序的当前路径的方法集合(转)
- TreeSet集合两个排序方法方法的分析&&Map集合获取的两中方式