你怎么知道一个流是否关闭?

时间:2011-08-29 09:08:08

标签: c# .net stream

我有一个带输入流的方法:

public void Export(Stream finalOutPutStream)

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

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

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

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

发生了什么事?

谢谢:)

- 编辑:我的不好,问题来自第三方作家(DotNetZip)。当我调用zip.Save(new MemoryStream())时会发生异常。我会在他们的论坛上问我的问题。 对不起,谢谢你的帮助。

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:-7)

如果你将流创建放在里面使用它将为你做关闭和资源发布 EX:

using(Stream s = new MemoryStream())
{
 // do your operations
}