枚举类:
public enum CreditStatus : int
{/// <summary>
/// 待审核
/// </summary>
[Description("待审核")]
Init = 1,
/// <summary>
/// 已审核
/// </summary>
[Description("已审核")]
Pending = 2,
/// <summary>
/// 已放款
/// </summary>
[Description("已放款")]
Paymented = 3
}
public static class EnumHelper
{/// <summary>
/// 获取枚举Description Attribute的值
/// </summary>
/// <param name="value">枚举</param>
/// <returns></returns>
public static string GetDescription(object value)
{
if (value == null)
{
return string.Empty;
}
var field = value.GetType().GetField(value.ToString());
if (field == null)
{
return string.Empty;
}
var attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
return attribute == null ? value.ToString() : attribute.Description;
}
/// <summary>
/// 获取枚举Description Attribute的值
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <param name="value">枚举值</param>
/// <returns></returns>
public static string GetDescription<T>(int? value)
{
if (value == null)
{
return string.Empty;
}
return GetDescription((T)System.Enum.Parse(typeof(T), value.Value.ToString()));
}
}
调用方法示例:
public string StatusDesc
{
get
{
return EnumHelper.GetDescription<Model.Enum.CreditStatus>(CreditStatus.GetValueOrDefault(1));
}
}