别说话,COPY走我的代码直接用就OK。
/// <summary>
/// 枚举类扩展
/// </summary>
public static class EnumExtension
{
/// <summary>
/// 获取枚举项上设置的显示文字
/// </summary>
/// <param name="value">被扩展对象</param>
public static string EnumMetadataDisplay(this Enum value)
{
string name = Enum.GetName(value.GetType(), value);
if (string.IsNullOrEmpty(name))
return value.ToString();
var attribute = value.GetType().GetField(name).GetCustomAttributes(
typeof(System.ComponentModel.DataAnnotations.DisplayAttribute), false)
.Cast<System.ComponentModel.DataAnnotations.DisplayAttribute>()
.FirstOrDefault();
if (attribute != null)
return attribute.Name;
return value.ToString();
}
}
调用方式:
(EnumClass)value.EnumMetadataDisplay();
如果有需要可以对其它扩展属性进行调整,只要你想得到~没有你做不到~