我有一个方法,里面有一个try/catch/finaly
块。在 try 块中,我声明SqlDataReader
如下:
SqlDataReader aReader = null;
aReader = aCommand.ExecuteReader();
在该finally
块中,手动处理的对象是在类级别设置的对象。那么实现的方法中的对象IDisposable
,例如SqlDataReader
上面的,它们会被自动处理吗?Close()
在aReader
执行 while 循环以获取阅读器的内容后调用(应该是Dispose()
调用的内容Close()
)。如果没有调用Close()
,当方法完成或对象超出范围时,该对象是否会自动关闭/处置?
编辑:我知道该using
声明,但有些情况让我感到困惑。