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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据类型获取枚举中的文字相关的知识,希望对你有一定的参考价值。

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

 

公共方法

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

 

以上是关于根据类型获取枚举中的文字的主要内容,如果未能解决你的问题,请参考以下文章

C# 根据数字值获取相应枚举

java枚举类-根据key获取value及根据value获取key

使用模型类型根据其表获取另一个表

html中select便签根据枚举获得的总结

专用模板根据变量类型返回/设置枚举值

根据枚举code获取枚举值