Cannot convert string to Enum type I created
本问题已经有最佳答案,请猛点这里访问。
我有一个枚举:
1 2 3 4 5 6 | public enum Color { Red, Blue, Green, } |
现在,如果我从XML文件中将这些颜色作为文本字符串读取,那么如何将其转换为枚举类型颜色。
1 2 3 4 | class TestClass { public Color testColor = Color.Red; } |
现在,当使用这样的字面字符串设置该属性时,编译器会发出非常严厉的警告。:d无法从字符串转换为颜色。
有什么帮助吗?
1 | TestClass.testColor = collectionofstrings[23].ConvertToColor?????; |
你在找这样的东西吗?
1 |
尝试:
1 |
请参见有关枚举的文档
编辑:在.NET 4.0中,您可以使用更为类型安全的方法(以及在解析失败时不引发异常的方法):
1 2 3 4 5 | Color myColor; if (Enum.TryParse(collectionofstring[23], out myColor)) { // Do stuff with"myColor" } |
正如其他人所说:
1 |
如果由于
1 2 3 |
需要使用Enum.Parse将字符串转换为正确的颜色枚举值:
1 |