I have a method, which has a try/catch/finaly
block inside. Within the try block, I declare SqlDataReader
as follows:
SqlDataReader
No, objects are not automatically disposed when they go out of scope.
They're not even guaranteed to be disposed if/when they're garbage-collected, although many IDisposable
objects implement a "fallback" finaliser to help ensure that they're eventually disposed.
You are resposible for ensuring that any IDisposable
objects are disposed, preferably by wrapping them in a using block.