枚举操作的常用方法,包括获得枚举的value,name,description
生活随笔
收集整理的這篇文章主要介紹了
枚举操作的常用方法,包括获得枚举的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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的web聊天之---序章
- 下一篇: 登陆时不显示上一次登陆的用户名