Хорошие примеры использования финализаторов в C #

Когда я прочитал несколько статей об управлении памятью в C #, меня сбили с толку методы Finalizer.

С ними связано так много сложных правил. Например, никто не знает, когда будут вызваны финализаторы, они вызываются, даже если код в ctor выдает ошибку, CLR не гарантирует, что все финализаторы будут вызываться при завершении работы программ и т.д.

Для каких финализаторов можно использовать в реальной жизни?

Единственным примером, который я нашел, была программа, которая издает звуковой сигнал при запуске GC.

Вы используете финализаторы в своем коде и, возможно, у вас есть хорошие образцы?

UPD:

Финализаторы могут использоваться, когда разработчики хотят убедиться, что некоторый класс всегда правильно удаляется с помощью IDisposable. ( ссылка ; Спасибо Стив Таунсенд )

10
задан mt_serg 3 November 2010 в 21:42
поделиться