这是枚举公用属性类:
#region 枚举属性扩展类
/// <summary>
/// 枚举扩展方法
/// </summary>
public static class EnumExtensions
{
public static string GetDescription(this Enum obj)
{
return GetDescription(obj, false);
}
public static string GetDescription(this Enum obj, bool isTop)
{
if (obj == null)
{
return string.Empty;
}
try
{
Type _enumType = obj.GetType();
DescriptionAttribute dna = null;
if (isTop)
{
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(_enumType, typeof(DescriptionAttribute));
}
else
{
FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, obj));
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(
fi, typeof(DescriptionAttribute));
}
if (dna != null && string.IsNullOrEmpty(dna.Description) == false)
return dna.Description;
}
catch
{
throw;
}
return obj.ToString();
}
}
#endregion
一个普通的枚举
public enum OpreateType
{
[Description("添加")]
Add = 0,
Del = 1,
Update = 2,
Import = 3,
}
输出它指定枚举元素的描述信息
Console.WriteLine(OpreateType.Add.GetDescription());
作者:仓储大叔,张占岭,
荣誉:微软MVP