我用自己的实体属性标记我的枚举,该属性用于将枚举映射到案例管理系统中相应的字段。从属性创建枚举
从枚举值获取正确的字符串工作正常,但我怎么能从一个字符串生成枚举?
我开始这样做:
foreach (var fieldInfo in enumType.GetFields())
{
var attribute = (EntityNameAttribute)fieldInfo
.GetCustomAttributes(typeof (EntityNameAttribute), false)
.FirstOrDefault();
if (attribute == null)
continue;
if (attribute.Name != name)
continue;
//got a match. But now what?
}
但是我如何才能从一个字段的正确值?我可以使用fieldInfo.GetValue
吗?如果是这样,我应该使用什么样的实例?应该将枚举视为静态类型吗?
不明白你的意思*“生成字符串的枚举”*。你的意思是说''红色=> Color.Red'有任何机会吗? –
@MunimAbdul:在另一个系统中,一个状态可以被命名为“01 - Planning”,这意味着我在我的枚举中获得了'[EntityName(“01 - Planning”)] Planning = 1,'作为一个字段。 – jgauffin