如何使用 Microsoft Bond 序列化为文件
How to serialize to a file with Microsoft Bond
Microsoft Bond 文档的输入和输出流 section 提供了从文件反序列化的示例代码:
using (var stream = new FileStream("example.bin", FileMode.Open))
{
var input = new InputStream(stream);
var reader = new CompactBinaryReader<InputStream>(input);
var example = Deserialize<Example>.From(reader);
}
我尝试反向序列化到文件,但没有任何内容写入文件。
using (var stream = new FileStream("example.bin", FileMode.Create))
{
var output = new OutputStream(stream);
var writer = new CompactBinaryWriter<OutputStream>(output);
Serialize.To(writer, example);
}
有什么想法吗?
看起来 OutputStream 还没有被刷新到 FileStream 中。尝试像 stream example 那样添加对 OutputStream.Flush
的显式调用:
using (var stream = new FileStream("example.bin", FileMode.Create))
{
var output = new OutputStream(stream);
var writer = new CompactBinaryWriter<OutputStream>(output);
Serialize.To(writer, example);
output.Flush();
}
设计 OutputStream
时我不在场,因此我无法评论导致它未实现 IDisposable
的决策过程。
Microsoft Bond 文档的输入和输出流 section 提供了从文件反序列化的示例代码:
using (var stream = new FileStream("example.bin", FileMode.Open))
{
var input = new InputStream(stream);
var reader = new CompactBinaryReader<InputStream>(input);
var example = Deserialize<Example>.From(reader);
}
我尝试反向序列化到文件,但没有任何内容写入文件。
using (var stream = new FileStream("example.bin", FileMode.Create))
{
var output = new OutputStream(stream);
var writer = new CompactBinaryWriter<OutputStream>(output);
Serialize.To(writer, example);
}
有什么想法吗?
看起来 OutputStream 还没有被刷新到 FileStream 中。尝试像 stream example 那样添加对 OutputStream.Flush
的显式调用:
using (var stream = new FileStream("example.bin", FileMode.Create))
{
var output = new OutputStream(stream);
var writer = new CompactBinaryWriter<OutputStream>(output);
Serialize.To(writer, example);
output.Flush();
}
设计 OutputStream
时我不在场,因此我无法评论导致它未实现 IDisposable
的决策过程。