枚举操作的常用方法,包括获得枚举的value,name,description
2017-02-04 14:15
309 查看
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个方法。
获取枚举值的描述标签方法:
调用如:GetDescriptionByName(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的两个方法
- 获取枚举Name,Value,Description两种方法
- C#+Enum 枚举扩展方法获取name,value和Description
- MongoDB常用操作一查询find方法db.collection_name.find()
- jquery之操作元素属性和特性(设置特性值,attr(name,value),attr(attributes)方法的使用)
- C#File类常用的文件操作方法(创建、移动、删除、复制等) File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和
- MongoDB常用操作一查询find方法db.collection_name.find()
- c#操作XML常用方法
- C#操作WORD的大部分常用方法的使用
- 操作TreeView的常用方法
- asp.net操作xml数据常用方法小结
- Java日期操作常用方法
- 多数据之间的连接操作-集中几个.NET常用的方法(不完整)
- Java日期操作常用方法(转自 csdn)
- Java日期操作常用方法
- php文件操作常用函数或方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
- 获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法