Если финализатор этого класса вызывает Dispose()
, да. Если нет, то нет.
(редактировать) Просто немного дополнительная информация :
Не думайте, что Dispose будет
называется. Неуправляемые ресурсы, принадлежащие
тип также должен быть выпущен в
Завершить метод в случае, если
Утилизация не называется.
Редактировать
Чтобы прояснить вышеприведенное редактирование, я видел, как многие люди (в этой теме, в SO и в других местах) утверждают, что «GC вызовет Dispose()
, когда объект будет удален». Это совсем не так. Да, хороший защитный кодер, пишущий компонент, предполагает, что Dispose()
не будет вызываться явно, и делает это в финализаторе. Однако хороший защитный кодер, ИСПОЛЬЗУющий компонент, должен предполагать, что финализатор НЕ вызывает Dispose()
. В сборщике мусора нет автоматического вызова Dispose()
. Эта функция доступна ТОЛЬКО в том случае, если финализатор вызывает Dispose()
.