- 題名: enumのToString("G") した文字列を enum に戻したい
- 日時: 2005/01/23 2:58:04
- ID: 8621
- この記事の返信元:
- (なし)
- この記事への返信:
- [8637] Re[1]: enumのToString("G") した文字列を enum に戻したい2005/01/23 16:24:20
- ツリーを表示
> enum値をToString("G")によって文字列にしたものがあったとして、 > それをenum値に戻すにはどうしたらいいでしょうか。 たとえば、こんな感じで。 ================================== Imports System Module VisualBasic Enum X As Integer Orator Benshi End Enum Sub Main() Dim Y As X = X.Benshi Dim S As String = Y.ToString("G") Dim O As Object = [Enum].Parse(GetType(X), S) Dim E As X = DirectCast(O, X) Console.WriteLine(String.Format("""{1}"" => {0:G}, {0:D}", E, S)) End Sub End Module ================================== import System; enum X :int { Orator, Benshi } var Y : X = X.Benshi; var S : String = Y.ToString("G"); var O : Object = Enum.Parse(Type.GetType("X"), S); var E : X = X(O); Console.WriteLine(String.Format('"{1}" => {0:G}, {0:D}', E, S)); ================================== using System; class CSharp { enum X : int { Orator, Benshi } static void Main() { X Y = X.Benshi; String S = Y.ToString("G"); Object O = Enum.Parse(typeof(X), S); X E = (X)O; Console.WriteLine(String.Format(@"""{1}"" => {0:G}, {0:D}", E, S)); } } ==================================
分類:[.NET]
お世話になっております。
enum値をToString("G")によって文字列にしたものがあったとして、
それをenum値に戻すにはどうしたらいいでしょうか。
enum型の変数の入ったクラスをシリアライズすると、文字列で出力されて
それをまたデシリアライズできるので、なにか方法があるんだと思うんですが・・・。
むしろ、このデシリアライズを利用するしかないとかでしょうか。
最後の手段はそこだとは思っています。
.NET Framework 1.1のC#を使用しています。VBもわかります。