这一定非常简单但我找不到它。
我有以下代码将对象序列化为文件并返回。但现在我想序列化为一个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))
...
但是我收到了错误。那我该怎么做呢?
答案 0 :(得分:7)
您应该将流发送到StreamWriter,而不是尝试将Stream分配给TextWriter。
using (var stream = new MemoryStream(buffer))
{
using (TextWriter textWriter = new StreamWriter(stream))
{ ... }
}