/// <summary>
/// 枚举转SelectListItem
/// </summary>
public class Enum_Helper
{
/// <summary>
/// 枚举转字典集合
/// </summary>
/// <typeparam name="T">枚举类名称</typeparam>
/// <param name="keyDefault">默认key值</param>
/// <param name="valueDefault">默认value值</param>
/// <returns>返回生成的字典集合</returns>
public static List<SelectListItem> GetSelectListItem<T>(object keyDefault)
{ List<SelectListItem> dicEnum = new List<SelectListItem>();
Type enumType = typeof(T);
if (!enumType.IsEnum)
return dicEnum; string[] fieldstrs = Enum.GetNames(enumType); //获取枚举字段数组
foreach (var item in fieldstrs)
{
string description = string.Empty;
var field = enumType.GetField(item);
object[] arr = field.GetCustomAttributes(typeof(DescriptionAttribute), true); //获取属性字段数组
if (arr != null && arr.Length > )
description = ((DescriptionAttribute)arr[]).Description; //属性描述
else
description = item; //描述不存在取字段名称 //判断是否添加默认选项
if (keyDefault != null && keyDefault.Equals(Enum.Parse(enumType, item)))
{ dicEnum.Add(new SelectListItem() { Text = description, Selected = true, Value = Enum.Parse(enumType, item).ToString() });
}
else
{
dicEnum.Add(new SelectListItem() { Text = description, Value = Enum.Parse(enumType, item).ToString() });
} }
return dicEnum;
} } 调用 Enum_Helper.GetSelectListItem<HealthLederses.Auditing>(input.HealthLedersAuditDto.Status);

更多例子参考:http://blog.csdn.net/shuizhaoshui/article/details/51412762

最新文章

  1. FlashBuilder项目环境配置
  2. (分享)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
  3. Unity Networking API文档翻译(一):Networking概述
  4. oracle表空间建立与用户创建删除
  5. serialVersionUID作用
  6. 错误&nbsp;4&nbsp;自定义工具错误:&nbsp;无法生成服务引用“DepartMentService”的代码。请检查其他错
  7. Python 爬虫 NewCnblogs (爬虫-Django-数据分析)
  8. laravel自定义门面
  9. Marriage Match IV HDU - 3416(最短路 + 最大流)
  10. 上海市2019年公务员录用考试第一轮首批面试名单(A类)
  11. MMON进程手工启动
  12. (12)We should aim for perfection — and stop fearing failure
  13. Thunder团队Final版爱阅app发布视频
  14. django-auth组件的注册,登录,登出,及验证是否已经登入。使用login的属性
  15. JAVA并发编程学习笔记------结构化并发应用程序
  16. git add -A和git add . 的区别
  17. PS1修改xshell命令行样式
  18. jmeter 历史版本下载
  19. uva_11806_Cheerleaders
  20. 可视化自编码器训练结果&amp;稀疏自编码器符号一览表

热门文章

  1. Python3求m以内的素数、求m个数中最小的n个数
  2. Delphi中的三目运算函数有哪些?(XE10.2+WIN764)
  3. struts工作原理不错的解释___
  4. springboot 使用c3p0数据库连接池
  5. Android MediaScanner 总纲
  6. hbase的写和读,大合并和小合并
  7. 多平台的网站实现单点登录系统(SSO)的开发思路 让你的会员中心更加统一(参考资料)
  8. 腾讯云CentOS升级JDK1.8
  9. linux 重定向 标准错误与标准输出到同一文件
  10. Java编程的逻辑 (74) - 并发容器 - ConcurrentHashMap