I have a method, which has a try/catch/finaly
block inside. Within the try block, I declare SqlDataReader
as follows:
SqlDataReader
The Dispose pattern doesn't make any guarantees about which objects will call Dispose on which other objects; it may happen sometimes, but you shouldn't care. Instead, it's your responsibility to make sure Dispose() is called for all IDisposable objects. The best way to do that is with the using
statement. For example:
using (SqlDataReader aReader = aCommand.ExecuteReader())
{
// your code
}