我有一个枚举:
public enum Color
{
Red,
Blue,
Green,
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我将这些颜色作为XML文件中的文字字符串读取,我该如何将其转换为枚举类型Color.
class TestClass
{
public Color testColor = Color.Red;
}
Run Code Online (Sandbox Code Playgroud)
现在,当使用像这样的文字字符串设置该属性时,我会收到编译器发出的非常严厉的警告.:D无法从字符串转换为颜色.
有帮助吗?
TestClass.testColor = collectionofstrings[23].ConvertToColor?????;
Run Code Online (Sandbox Code Playgroud)
Dmi*_*ant 33
你正在寻找的是这样的东西吗?
TestClass.testColor = (Color)Enum.Parse(typeof(Color), collectionofstrings[23]);
Run Code Online (Sandbox Code Playgroud)
尝试:
TestClass.testColor = (Color)Enum.Parse(typeof(Color), collectionofstrings[23]);
Run Code Online (Sandbox Code Playgroud)
请参阅有关Enum的文档
编辑:在.NET 4.0中,您可以使用更安全类型的方法(以及在解析失败时不会抛出异常的方法):
Color myColor;
if (Enum.TryParse(collectionofstring[23], out myColor))
{
// Do stuff with "myColor"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17268 次 |
| 最近记录: |