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