带有 Deserialize() 的 C# ProgressBar

Ozz*_*zah 5 c# serialization binaryformatter progress-bar

我有一些我已经序列化的大型对象图,其中一些需要一些时间来反序列化。

在这个阶段,我对我的小“请稍等...”框感到非常满意,它在完成时出现然后消失,但我只是想在反序列化开始时使用某种进度条的想法更长。

似乎没有任何方法可以获取对象的内置Deserialize()方法的进度BinaryFormatter。我怀疑如果包含了这样的功能,就会有某种异步回调,每当从流中读取一个字节块时,它就会进行轮询。

你们中有人看到过类似 ProgressBar 的行为的对象序列化/反序列化的实现吗?

Chr*_*ain 2

我之前已经考虑过这个问题 - 我能想到的唯一近似的方法是包装正在反序列化的流并在格式化程序读取它时跟踪位置。然而,这是假设格式化程序在反序列化时线性且连续地读取,并且不能保证它确实如此。