public enum EnumName //tt:枚举名
{
[Description("t1描述")]//枚举标记t1的描述
t1=1,//t1:枚举标记 1:枚举值
[Description("t2描述")]
t2=2,
[Description("t3描述")]
t3=3
}
private string GetEnumDescription(Enum enumValue)
{
FieldInfo fieldInfo = enumValue.GetType().GetField(enumValue.ToString().Trim());
DescriptionAttribute[] attritutes = fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
return attritutes.Length > 0 ? attritutes[0].Description: enumValue.ToString();
}
//根据枚举标记获得枚举值
int iEnumValue = (int)Enum.Parse(typeof(EnumName), Convert.ToString(EnumName.t1));
//result:1
//根据枚举值得到枚举标记
EnumName t_type = (EnumName)Enum.Parse(typeof(EnumName), Convert.ToString(iEnumValue), false);
//result:t1
//根据枚举标记获得其描述
string strDescription = GetEnumDescription(t_type);
//result:t1描述
{
[Description("t1描述")]//枚举标记t1的描述
t1=1,//t1:枚举标记 1:枚举值
[Description("t2描述")]
t2=2,
[Description("t3描述")]
t3=3
}
private string GetEnumDescription(Enum enumValue)
{
FieldInfo fieldInfo = enumValue.GetType().GetField(enumValue.ToString().Trim());
DescriptionAttribute[] attritutes = fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
return attritutes.Length > 0 ? attritutes[0].Description: enumValue.ToString();
}
//根据枚举标记获得枚举值
int iEnumValue = (int)Enum.Parse(typeof(EnumName), Convert.ToString(EnumName.t1));
//result:1
//根据枚举值得到枚举标记
EnumName t_type = (EnumName)Enum.Parse(typeof(EnumName), Convert.ToString(iEnumValue), false);
//result:t1
//根据枚举标记获得其描述
string strDescription = GetEnumDescription(t_type);
//result:t1描述