Я хотел бы знать, когда я должен и не должен обматывать вещи в блоке USING.
Из того, что я понимаю, компилятор переводит его в try/finally, где, наконец, вызывает Dispose() на объекте.
Я всегда использую ИСПОЛЬЗОВАНИЕ вокруг соединений с базой данных и доступа к файлам, но это больше по привычке, а не на 100% -ном понимании. Я знаю, что вы должны эксплицировать (или использовать) объекты Dispose(), которые управляют ресурсами, чтобы гарантировать, что они будут выпущены мгновенно, а не всякий раз, когда CLR чувствует себя так, но это то, где мое понимание ломается.
Являются ли IDisposables не удалены, когда они выходят из области видимости?
Нужно ли мне использовать ИСПОЛЬЗОВАНИЕ, когда мой объект использует Dispose для упорядочивания?
Спасибо
Изменить: я знаю, что есть несколько других сообщений по ключевому слову USING, но меня больше интересуют ответы, связанные с CLR и точно, что происходит внутри.
Эндрю