1

これは非常に単純なはずですが、検索しても見つかりません。

オブジェクトをファイルにシリアル化して戻すための次のコードがあります。しかし今、私はbyte[]にシリアル化して戻したいと思っています。

XmlSerializer serializer = new XmlSerializer(typeof(Class1));
using (TextWriter textWriter = new StreamWriter(path))
    serializer.Serialize(textWriter, class1);
using (TextReader textReader = new StreamReader(path))
    class1b = (Class1)serializer.Deserialize(textReader);

MemoryStreamを使用してみました:

byte[] buffer = new byte[1000];
using (TextWriter textWriter = new MemoryStream(buffer))
...

しかし、エラーが発生します。それで、私はそれをどのようにすべきですか?

4

1 に答える 1

7

ストリームをTextWriterに割り当てようとするのではなく、StreamWriterにストリームを送信する必要があります。

using (var stream = new MemoryStream(buffer))
{
    using (TextWriter textWriter = new StreamWriter(stream))
    { ... }
}
于 2012-09-06T21:10:48.133 に答える