【发布时间】:2019-06-04 04:31:11
【问题描述】:
无法从其 StringValue 属性解析为枚举对象。
枚举:
public enum StatusColor
{
[StringValue("#FFFFFF")]
None,
[StringValue("#5DB516")]
Green,
[StringValue("#F3212A")]
Red,
[StringValue("#FFFFFF")]
White
}
解析尝试1
string inputHtmlColor = "#F3212A"; // input
StatusColor outColor; // output
Enum.TryParse(inputHtmlColor , true, out outColor);
解析尝试2:
string inputHtmlColor = "#F3212A"; //input
StatusColor outColor = Enum.Parse(typeof(StatusColor), inputHtmlColor, true);
两个代码都不起作用,代码总是选择StausColor.None(第一个)。如何获得正确的 StatusColor 枚举对象?
【问题讨论】:
-
如果链接的问题没有回答你的问题,请告诉我(通过在评论中标记我
@john),我会重新打开你的问题。 -
嗨@John,你建议的答案与我想要的相反。答案是关于从对象到它的属性值,而我已经有了属性值并且我将它转换为枚举对象。
-
@kame
[ ]表示attribute。 -
嗨@kame,
[ ]类似于Java 中的@注解,如果您有Java 背景的话。 -
我今天刚做了这个。搜索“convert to enum from description attribute”并更改代码以使用该属性。