Xml シリアル化を使用してオブジェクトをファイルにシリアル化する既存のメソッドを、返されるように変更する必要があります。 XML をファイルに保存するのではなく、文字列として保存します。 file.
オブジェクトをファイルに書き込む代わりに文字列としてシリアル化するには、単に 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(); } }
XmlSerializer コンストラクターで typeof(T) の代わりに toSerialize.GetType() を使用することが重要です。 toSerialize.GetType() を使用すると、T のすべての可能なサブクラスが正しく処理されるようになりますが、typeof(T) を使用すると、派生型が引数として渡された場合に例外が発生する可能性があります。
以上がC# でオブジェクトを XML 文字列にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。