将枚举值转为list (name,value) 的形式

        /// <summary>
/// 获取口味
/// </summary>
/// <returns></returns>
private IList GetTastes()
{ var list = new ArrayList();
var tastes = typeof(Domain.Model.Enums.Tastes);
foreach (var i in Enum.GetValues(tastes))
{ var value = i; var field = i.GetType().GetField(i.ToString());
var display = Attribute.GetCustomAttribute(field, typeof(EnumDisplayAttribute)) as EnumDisplayAttribute; var name = display == null ? field.Name : display.Name;
list.Add(new { name, value });
}
return list;
}
 /// <summary>
/// 标记字段的显示名称的特性
/// </summary>
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class EnumDisplayAttribute : Attribute
{
/// <summary>
/// 显示名称
/// </summary>
public string Name { get; private set; } /// <summary>
/// 标记字段的显示名称
/// </summary>
/// <param name="name">显示名称</param>
public EnumDisplayAttribute(string name)
{
this.Name = name;
}
}

最新文章

  1. 排序算法----基数排序(RadixSort(L,max))单链表版本
  2. .htaccess中Apache配置详解
  3. Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行
  4. Chapter 1: Design the application architecture
  5. JAVA thread0.interrupt()方法
  6. git add 之后因为没提交正确文件需要撤销
  7. Windows Server 2008 HPC 版本介绍以及的Pack
  8. javac。java版本切换
  9. Android - Unable to execute dex: Multiple dex files define
  10. 关于ios8斯坦福公开课第二课
  11. POJ 2752 Seek the Name, Seek the Fame(next数组的理解)
  12. 深入研究MiniMVC之后续篇
  13. js入门——Dom基础
  14. HDU 1329 Hanoi Tower Troubles Again!(乱搞)
  15. 简单封装常用js方法
  16. 图解如何 将Excel里的数据导入到sql server数据库中
  17. MySQL数据库设计总结
  18. 实现Runnable接口和继承Thread类之间的区别
  19. 20171201 - macOS High Sierra 神级 bug
  20. centos7中安装、配置、验证、卸载redis

热门文章

  1. python管理Windows服务
  2. SSH 整合时报内存溢出 缓存无法释放
  3. Swing 添加Esc快捷键退出程序
  4. js中全局变量的一点小知识点
  5. Biopython常用功能模块
  6. HDU - 2571 命运 DP倍数跳跃处理
  7. [poj]1050 To the Max dp
  8. 获取表单的值js
  9. U3D Buildin shader
  10. Solr6.7 学习笔记(01) -- 目录结构