1:新建枚举匹配工具类
/// <summary>
/// 枚举匹配工具类
/// </summary>
public static class EnumUtils
{
public static Dictionary<string, string> ToDic<T>() where T : struct, IConvertible
{
var groupDictionary = new Dictionary<string, string>();
var enumType = typeof(T);
var fields = from field in enumType.GetFields()
where field.IsLiteral
select field;
foreach (var field in fields)
{
var display =
((DescriptionAttribute)field.GetCustomAttributes(typeof(DescriptionAttribute), false)
.First()).Description;
var category = ((DisplayAttribute)field.GetCustomAttributes(typeof(DisplayAttribute), false)
.First()).Name;
groupDictionary.Add(category, display);
}
return groupDictionary;
}
}
2:实体类中应用
2.1: 定义转换对象
private Dictionary<string, string> branchIdStatusDic { get; set; }
2.2:转换
//1:原字段接收的状态值
public string acctTp { get; set; }
//2:定义新字段进行转义接收中文字符
public string acctTpStatus
{
get
{
if (string.IsNullOrWhiteSpace(this.acctTp))
{
return "";
}
if (this.AcctTpStatusDic == null)
{
this.AcctTpStatusDic = EnumUtils.ToDic<AcctTpStatus>();
}
return this.AcctTpStatusDic[this.acctTp];
}
}