/*遍历枚举*/
//把枚举数据形成一个键值对的集合
public static Dictionary<string, int> GetDic()
{
Dictionary<string, int> dic=new Dictionary<string,int>();
dic.Clear();
Array arr = Enum.GetValues(typeof(ENU_Test));
foreach (int i in arr)
{
stirng key = Enums.Text((ENU_Test)i);//获取没有类型描述
dic.Add(key, i);
}
return dic;
}
/*定义枚举*/
public enum ENU_Test: int
{
[Description("")] /枚举描述
a= 0,
[Description("")]
b= 1
}
/// 获取枚举描述,通过反射
public static class Enums
{
public static string GetDesc(Enum enumSubitem)
{
string strValue = enumSubitem.ToString();
FieldInfo fieldinfo = enumSubitem.GetType().GetField(strValue);
Object[] objs = fieldinfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (objs == null || objs.Length == 0)
{
return strValue;
}
else
{
DescriptionAttribute da = (DescriptionAttribute)objs[0];
return da.Description;
}
}
}