1

Microsoft Bond 文档的输入和输出流部分提供了从文件反序列化的示例代码:

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);
}

有任何想法吗?

4

1 回答 1

3

看起来 OutputStream 尚未刷新到 FileStream 中。尝试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

于 2017-12-08T19:39:02.833 回答