【发布时间】:2011-05-20 11:49:06
【问题描述】:
考虑以下代码:
using (var ms = new MemoryStream())
{
using(var writer = BinaryWriter(ms))
{
writer.Write(/*something*/);
writer.Flush();
}
Assert.That(ms.Length > 0); // Throws ObjectDisposedException
}
一方面,一次性对象应该处理它的资源;我明白了,但另一方面,对象没有创建并且不拥有这个资源,它是提供的->调用代码应该对此负责......不是吗?
我想不出任何其他类似的情况,但是对于任何接收可丢弃对象的类自行处置它们是否是框架中的一致模式?
【问题讨论】:
标签: c# .net-4.0 stream dispose