私は次の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);
収量:
タイプ「オブジェクト」を「状態」に暗黙的に変換することはできません。明示的な変換が存在します。