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

您应该将流发送到 StreamWriter,而不是尝试将 Stream 分配给 TextWriter。

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