Вызов Dispose () против того, когда объект выходит из области видимости / метод завершается

У меня есть метод, который имеетtry/catch/finaly блок внутри. В блоке try я объявляюSqlDataReader следующее:

SqlDataReader aReader = null;          
aReader = aCommand.ExecuteReader();

вfinally блок, объекты, которые удаляются вручную, это те, которые установлены на уровне класса. Так что объекты в методе, которые реализуютIDisposable, такие какSqlDataReader выше, они автоматически избавляются?Close() называется наaReader через некоторое время выполняется цикл, чтобы получить содержимое читателя (который должен бытьDispose() как это называетсяClose()). Если нет звонкаClose(), будет ли этот объект закрываться / удаляться автоматически, когда метод завершается или объект выходит из области видимости?

РЕДАКТИРОВАТЬ: я знаю оusing Заявление, но есть сценарии, которые меня смущают.

Ответы на вопрос(6)

Ваш ответ на вопрос