Когда я прочитал несколько статей об управлении памятью в C #, меня сбили с толку методы Finalizer.
С ними связано так много сложных правил. Например, никто не знает, когда будут вызваны финализаторы, они вызываются, даже если код в ctor выдает ошибку, CLR не гарантирует, что все финализаторы будут вызываться при завершении работы программ и т.д.
Для каких финализаторов можно использовать в реальной жизни?
Единственным примером, который я нашел, была программа, которая издает звуковой сигнал при запуске GC.
Вы используете финализаторы в своем коде и, возможно, у вас есть хорошие образцы?
UPD:
Финализаторы могут использоваться, когда разработчики хотят убедиться, что некоторый класс всегда правильно удаляется с помощью IDisposable. ( ссылка ; Спасибо Стив Таунсенд )