比如数据库里存的是数字,从枚举中获取相应的文字描述
公共方法
public static string GetEnumDesc<T>(T Enumtype)
{
if (Enumtype == null) throw new ArgumentNullException("Enumtype");
if (!Enumtype.GetType().IsEnum) throw new Exception("参数类型不正确");
return ((DescriptionAttribute)Enumtype.GetType().GetField(Enumtype.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false)[0]).Description;
}
实体中定义
public Enum.AccountValidationType AuthType { get; set; }
public string ValidationTypeStr { get; set; }
枚举类
/// <summary>
/// 验证码和链接类型
/// </summary>
public enum AccountValidationType
{
/// <summary>
/// 注册认证(创建网络)
/// </summary>
[Description("注册认证(创建网络)")]
Validation_A = 0,
/// <summary>
/// 强制认证(管理员要求强制认证)
/// </summary>
[Description("强制认证(管理员要求强制认证)")]
Validation_B = 1,
/// <summary>
/// 邀请认证(同域名)
/// </summary>
[Description("邀请认证(同域名)")]
Validation_C = 2
}
业务中写
validation.DescribeTypeStr = MDManage.Framework.Common.GetEnumDesc<AccountDescribeType>(validation.AuthTypeDesc);