【问题标题】:Stream's Length property behaviour when CanSeek = falseCanSeek = false 时 Stream 的 Length 属性行为
【发布时间】:2017-12-29 04:58:42
【问题描述】:

我正在实现Stream 类。新类支持读写,但不支持搜索。

MSDN 表示这将返回流的长度。由于它同时支持读取和写入,我不知道字符串在所有写入完成之前需要多长时间。

我应该像 SetLengthPosition 一样为此抛出 NotSupportedException 吗?

文档并没有表明这是正确的行为,但是,如果我确实返回了一个值,那么我应该如何计算它?

【问题讨论】:

    标签: c# .net vb.net stream


    【解决方案1】:

    来自Stream.Length的文档

    NotSupportedException:从 Stream 派生的类不支持查找。

    另外来自Stream.CanSeek的文档:

    如果派生自 Stream 的类不支持查找,则对 Length、SetLength、Position 和 Seek 的调用将引发 NotSupportedException。

    所以我会抛出它而不是尝试计算任何东西,即使你知道操作结束时的值。

    【讨论】:

    • 谢谢,我想我需要睁开眼睛!
    • 嗯,有时在森林中很难看到这些东西。这就是橡皮鸭调试效果如此出色的原因!
    • Bert 和 Ernie 是这样调试的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多