枚举操作的常用方法,包括获得枚举的value,name,description
public enum SendInfoStateEnum
{
[Description("等待提交")]
等待提交 = 1,
[Description("等待审核")]
等待审核 = 2,
审核成功 = 3,
审核失败 = 4,
正在发送 = 5,
}
绑定枚举到dropdownlist方法如下:
调用如:BindEnumToDropdownList(typeof(SendInfoStateEnum), ddlSendState, new ListItem("--请选择--", "-1"), "-1");
重点是Enum.GetValues(enumType)、Enum.GetName(enumType, i) 2个方法。
/// <summary>/// 绑定枚举到dropdownlist/// </summary>/// <param name="enumType">枚举类型</param>/// <param name="ddl">dropdownlist</param>/// <param name="li">初始化第一个选项,可为null</param>/// <param name="selectValue">选中项的值</param>public static void BindEnumToDropdownList(Type enumType, DropDownList ddl, ListItem firstItem, string selectValue){ddl.Items.Clear();if (firstItem != null){ddl.Items.Add(firstItem);}foreach (int i in Enum.GetValues(enumType)){ListItem li2 = new ListItem(Enum.GetName(enumType, i), i.ToString());if (li2.Value.Equals(selectValue)){li2.Selected = true;}ddl.Items.Add(li2);}}
获取枚举值的描述标签方法:
调用如:GetDescriptionByName(SendInfoStateEnum.等待提交);
/// <summary>/// get enum description by name/// </summary>/// <typeparam name="T">enum type</typeparam>/// <param name="enumItemName">the enum name</param>/// <returns>description string</returns>public static string GetDescriptionByName<T>(this T enumItemName){FieldInfo fi = enumItemName.GetType().GetField(enumItemName.ToString());DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);if (attributes != null && attributes.Length > 0){return attributes[0].Description;}else{return enumItemName.ToString();}}
枚举操作的常用方法,包括获得枚举的value,name,description相关推荐
- Java基础学习——Java网络编程(三)自定义枚举类、枚举类的常用方法、枚举类实现接口、枚举类的实际应用
一.什么是枚举 枚举法:一枚一枚的列举出来,列举的元素是有限的.确定的. 例如:星期(一.二.三.四.五.六.日).性别(男.女).季节(春.夏.秋.冬) 在Java中的关键字为enum 二.枚举类的 ...
- 集合已修改;可能无法执行枚举操作。
问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut) ...
- ios 获取一个枚举的所有值_Java enum枚举在实际项目中的常用方法
在项目实际开发过程中,经常会遇到对某些固定的值.字典项的定义的需求,很多项目经常使用常量来定义,其实在jdk1.5就已经引入了枚举,使用枚举可以更好的解决这类需求,本文主要记录枚举的优势以及经常在项 ...
- 错误信息: 集合已修改;可能无法执行枚举操作。
错误信息: 集合已修改:可能无法执行枚举操作. 调用堆栈: 在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResou ...
- 枚举类——概述、常用方法、自定义枚举类、Enum创建枚举类
一.枚举类的概述 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 二.枚举类 ...
- 怎么回事儿?C#错误:集合已修改;枚举操作可能无法执行。
本意是遍历表的行,当行中"主键"列为""时,将该行从表中删除.执行时就出现了"集合已修改:枚举操作可能无法执行."的c#错误提示.c#错误代 ...
- java实体类中有枚举类型_实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以...
通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也 ...
- java枚举注释_【Java】枚举类和注解
一.枚举类的使用 1. 枚举类的说明: 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 枚举类的实现: JDK 5.0以前需要自定义 JDK 5 ...
- java枚举类及面试题为什么枚举实现单例模式是安全的?
目录 枚举类 为什么会有枚举类? 枚举类的使用 枚举类的常用方法 枚举的构造 枚举类型能被反射吗? 为什么枚举实现单例模式是安全的? 枚举类的优缺点 枚举类 为什么会有枚举类? 假如说程序中有一些颜色 ...
最新文章
- PHP和java比较
- 自己动手实现OpenGL-OpenGL原来如此简单(二)
- Linux使用退格键(Backspace键)时出现^H 解决方法
- pthread_cleanup_push
- 第 20 课时:GPU 管理和 Device Plugin 工作机制(车漾)
- 双清模式无命令_linux性能监控:IO性能监控命令之iotop命令
- 陌陌估值1亿美元:一个用户10美元,贵吗?
- SQL-server 如何与 visual studio 建立连接
- The peopleware papers
- gcc和arm-linux-gcc区别
- 具体问题具体分析 之 QA票
- 相控阵天线方位角俯仰角matlab画图,理解相控阵天线的方向图
- 李铁被传下课之际,梅西却要七拿金球奖了?这波预测没毛病
- 服务器与操作系统的区别是什么,服务器系统和普通用户操作系统有何区别
- 《28岁未成年》感悟——永远不要失去自我
- 支付宝 app接口对接流程上
- 利用 Openai Gpt-3 实现下一代自动化测试
- lesson 21 mad or not 是不是疯了-把什么逼疯,be driving sb mad,live near 住在什么附近,过去将来时的被动式 will be done
- 安卓机器人做图软件_绘画机器人andy下载-美图秀秀绘画机器人下载v7.0.0.0 安卓版-西西软件下载...
- 基于龙芯+国产FPGA 的VPX以太网交换板设计(二)
热门文章
- Could not write file: C:\......\.classpath
- ORA-12519, TNS:no appropriate service handler found
- OpenCV+yolov3实现目标检测(C++,Python)
- 分布式离线计算—Spark—SparkStreaming
- kotlin集合操作符——顺序操作符
- 很好的PHP分页类(调试过)
- JSONObject和JSONArray的关系
- 使用ultramon调整任务栏高度
- 用putty中的pscp命令拷贝文件
- git 创建 本地 裸 仓库