定义枚举一般不用中文,就像sql的字段名一样,效率会有影响,下面就实现为枚举值添自定义中文说明,然后获取。
1.创建一个类,既然要添加自定义属性,就必须继承Attribute
public class EnumHelper : Attribute
{
private string m_strDescription;
public EnumHelper(string strPrinterName)
{
m_strDescription = strPrinterName;
}
public string Description
{
get { return m_strDescription; }
}
}
2.创建枚举,在每项之前就可加上刚才创建的自定义属性了
public enum Days
{
[EnumHelper("星期一")]
Monday = 1,
[EnumHelper("星期二")]
Tuesday = 2
}
3.获取属性方法
public static string ForEnum(int nbr)
{
Days test = (Days)nbr;
FieldInfo fieldInfo = test.GetType().GetField(test.ToString());
object[] attribArray = fieldInfo.GetCustomAttributes(false);
EnumHelper attrib = (EnumHelper)attribArray[0];
return attrib.Description;
}
4.传入ForEnum(1),输出“星期一”。