C# 枚举常用工具方法
2013-08-28 16:15
169 查看
/// <summary> /// 获取枚举成员描述信息及名称 /// 返回:IDictionary /// Value:描述信息 /// Key:值 /// </summary> /// <typeparam name="T">struct类型</typeparam> /// <returns>IDictionary</returns> protected IDictionary<string, string> GetEnumMemberList<T>() where T : struct { var members = typeof(T).GetMembers().Where(s => s.MemberType == System.Reflection.MemberTypes.Field); Dictionary<string, string> dict = new Dictionary<string, string>(); foreach (var member in members) { var attrs = member.GetCustomAttributes(typeof(DescriptionAttribute), false); if (!attrs.Any()) { continue; } var memberinfo = attrs[0] as DescriptionAttribute; if (memberinfo != null) { dict.Add(member.Name, memberinfo.Description); } } return dict; } /// <summary> /// 调用方法 /// </summary> /// <param name="selectId"></param> /// <returns></returns> protected List<SelectListItem> Execute(int selectId) { var dict = GetEnumMemberList<SharedScope>(); var list = new List<SelectListItem>(); foreach (var info in dict) { int value = (int)Enum.Parse(typeof(SharedScope), info.Key); list.Add( new SelectListItem { Value = value.ToString(), Text = info.Value, Selected = value == selectId }); } this.ViewData["Execute"] = list; return list; }
上面代码是一个泛型的操作枚举的C#语言实现的工具类方法。
相关文章推荐
- C#工具类(包含获取枚举描述方法)
- C#枚举的不常用方法Enum.Parse&Enum.GetNames
- C#枚举的常用使用方法
- C# 常用的工具方法
- C# 枚举常用方法浅析
- C#枚举的不常用方法Enum.Parse&Enum.GetNames
- C#中常用的几种读取XML文件的方法
- Dynamics CRM 常用 C# 方法集合
- 分区工具parted的详解及常用分区使用方法
- C#中常用的几种读取XML文件的方法
- 常用的Jquery工具方法
- C# TextBox中只能输入数字的几种常用方法(C#)
- *汇总c#.net常用函数和方法集
- js工具-js常用方法,js常用判断方法
- C#窗体间通讯的几种常用处理方法总结
- c#.net常用的小函数和方法集
- c#扩展方法奇思妙用基础篇三:byte 常用扩展
- C#+Enum 枚举扩展方法获取name,value和Description
- C# 图片操作 常用方法 总结
- NSStirng、NSArray 枚举 一般常用方法