我会创建一个新的对象来保存Streams.像这样的东西(没有完全充实):
class StreamHolder : IDisposable
{
List<Stream> Streams {get;}
public void Dispose()
{
Streams.ForEach(x=>x.Dispose()):
}
}
Run Code Online (Sandbox Code Playgroud)
这样您就可以将容器对象放在using语句中,它将为您处理流处理.你的另一个选择是在Finally块中处理它,但是如果我要在多个地方执行此操作,我想封装它,所以当我完成时我不会意外忘记处理所有流.