2011-01-24 10 views
0

可能性の重複:既存の列挙-TAGの名前を持つ文字列を変換する方法
Cast a String to an Enum Tag in C#文字列をC#のEnum-Tag値にキャストする方法(Enum名にする)?

(Enumのタイトルの名前を持っている) 列挙

の種類のになるために

Enumリスト変数の値のうち1つにならないようにするには、
Enumタグの名前はEnum型ですか?

例えば、私はその後

Enum MyEnum { A,B,C,D }; 

としている可能性があります

String a = "MyEnum"; 
+2

を行う必要があります。この問題は、今日人気のようだ - 何が起こっていますか? –

+0

シンプルな型名をSystem.Typeに変換したいと思いますか?シンプルな名前だけではなく、より多くの情報を入手することなく、信頼性の高い*処理を行うことは困難です。あなたはそのタイプのアセンブリを知っていますか?アセンブリで修飾された名前か、少なくとも完全修飾型の名前を持っていますか?とにかく、これはあなたを開始する必要があります:C#の作成完全な名前から入力します。 http://stackoverflow.com/questions/1392763/creating-c-type-from-full-name – Ani

+0

これはあまりにも急激に閉鎖されました。私はOPが "複製"にあるものとは異なる何かを望んでいると思います。 – Ani

答えて

1
あなたはEnum.Parse使用して列挙型としてそれを解析する必要が
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), "myname"); 
3

:あり

myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);

ここで考慮すべき要素のいくつか。まずEnum.Parseは、ターゲット列挙型ののタイプをとります。第二に、タイプオブジェクトを返すだけなので、正しいenumタイプに手動で変換する必要があります。

0
Enum e = (Enum)Enum.Parse(typeof(Enum), "A", true); 

これはそれを

関連する問題