本文介绍了如何读取EnumMember属性的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public enum Status
{
Pending,
[EnumMember(Value = "In Progress")]
InProgress,
Failed,
Success
}
string dbValue = "In Progress";
if (dbValue == ValueOf(Status.InProgress)){
//do some thing
}
如何读取Status.InProgress的值,以便返回进行中"状态?
How do I read the Value of Status.InProgress so I get back "in Progress"?
推荐答案类似以下内容:
public string GetEnumMemberAttrValue(Type enumType, object enumVal) { var memInfo = enumType.GetMember(enumVal.ToString()); var attr = memInfo[0].GetCustomAttributes(false).OfType<EnumMemberAttribute>().FirstOrDefault(); if(attr != null) { return attr.Value; } return null; }用法:
var enumType = typeof(Status); var enumVal = Status.InProgress; var str = GetEnumMemberAttrValue(enumType,enumVal);更多推荐
如何读取EnumMember属性的值
发布评论