我有一个public enum
这样的声明:
public enum States
{
SomeState,
SomeOtherState
}
有一个可以代表上述任何“状态”的任意字符串myString
,我想写一个开关来检查它当前是哪个。
这是我的尝试。
States state = Enum.Parse(States, myString, true);
switch (state)
{
case States.SomeState:
case States.SomeOtherState:
break;
default:
break;
}
在里面Enum.Parse()
它告诉我参数 State 被用作类型而不是变量。这不是正确的用法吗?Enum.Parse 应该接收的第一个参数是Type enumType
:为什么它告诉我它需要一个变量?
多类回复说明使用typeof
。不幸的是,我已经尝试过了,但由于收到以下错误,我猜这是一个错误的想法。
Enum.Parse(typeof(States), myString, true);
产量:
不能将类型“对象”隐式转换为“状态”。存在显式转换。