Финализатор и IDisposable

На основе документации (MSDN: ссылка ), ясно, что при реализации финализатора следует использовать шаблон IDisposable.

Но нужно ли вам реализовать финализатор, если вы реализуете IDisposable (чтобы обеспечить детерминированный способ удаления объекта), и у вас нет неуправляемого ресурсы для очистки?

Насколько я понимаю, если класс имеет только управляемые ресурсы и вы не вызываете Dispose, управляемые ресурсы будут автоматически очищены сборщиком мусора, и, следовательно, нет необходимости реализовывать финализатор. Я ошибаюсь?

А что, если я использую свой метод Dispose для очистки обработчиков событий. Поскольку сборщик мусора автоматически не вызывает Dispose, следует ли мне реализовать Finalizer, чтобы гарантировать, что обработчики событий не подключены?

9
задан Raj Rao 7 October 2010 в 14:55
поделиться