根据类型获取枚举中的文字

 比如数据库里存的是数字,从枚举中获取相应的文字描述

 

公共方法

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; }

 

枚举类


public enum AccountValidationType
{

[Description("注册认证(创建网络)")]
Validation_A = 0,

[Description("强制认证(管理员要求强制认证)")]
Validation_B = 1,

[Description("邀请认证(同域名)")]
Validation_C = 2

}

业务中写

   validation.DescribeTypeStr = MDManage.Framework.Common.GetEnumDesc<AccountDescribeType>(validation.AuthTypeDesc);

 

posted @ 2016-02-29 11:05  MaoSan-Jerry  阅读(285)  评论(0编辑  收藏  举报