c# - 你怎么知道流是否关闭?

标签 c# .net stream

<分区>

我有一个输入流的方法:

public void Export(Stream finalOutPutStream)

出于测试目的,我使用内存流调用它,如下所示:

// When
_exporter.Export(new System.IO.MemoryStream());

但是,在方法中,当我想在此内存流上写入时,我得到一个 ObjectDisposedException。

此流未包含在 using 语句中,我没有明确调用 .Dispose()。

发生了什么?

谢谢 :)

-- 编辑:不好,问题出在第三方作者(DotNetZip)。当我调用 zip.Save(new MemoryStream()) 时发生异常。我会在他们的论坛上提问。 抱歉,感谢您的帮助。

最佳答案

您可以使用以下属性检查流可用性:CanReadCanSeekCanWrite 属性。

关于c# - 你怎么知道流是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228175/

相关文章:

c# - 四舍五入到下一个更高的数字

c# - Visual Studio ASP.NET Core 1.0 项目无法编译

C# 相当于 Scala Promise

c# - WCF 数据限制

c# - .Network 中的 LINQ Where() 子句如何?

Java/.NET 将垃圾收集器的引用标记为 "do not follow"?

.net - IoC 容器如何实现依赖注入(inject)与我将如何实现它相比

java - 关闭 Stream 是否会关闭 BufferedReader 源?

javascript - 在不控制读取流的情况下将转换流应用于写入流?

c# - 我是否必须关闭我的代码从未访问过的 HttpRequest 输入流?