文字列からのオブジェクトの逆シリアル化
提供されたメソッド SerializeObject を使用すると、オブジェクトをファイルにシリアル化できます。オブジェクトの XML 表現を文字列として取得するには、わずかな変更が必要です。
解決策には、StreamWriter を StringWriter に置き換えることが含まれます。
public static string SerializeObject<T>(this T toSerialize) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); using(StringWriter textWriter = new StringWriter()) { xmlSerializer.Serialize(textWriter, toSerialize); return textWriter.ToString(); } }
GetType() メソッドが使用されます。 XmlSerializer コンストラクター内で、T のすべての可能なサブクラスがシリアル化中に考慮されるようにします。
の使用とは異なります。 typeof(T)、GetType() はすべてのサブクラスをカバーし、コードで継承を使用してオブジェクトを処理できるようにします。 typeof(T) が問題を引き起こす詳細と具体的な例については、次のリンクを参照してください: http://ideone.com/1Z5J1。
さらに、.NET ランタイムのバージョンが異なることにも注意してください。 typeof(T) でエラーが発生した場合、別の例外メッセージが生成される場合があります。
以上がC# でシリアル化された XML 文字列からオブジェクトを逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。