Как известно, .NET Framework предоставляет объектам перед уничтожением "последнее желание", Finalize. К несчастью, многие плохо понимают чем такие вещи чреваты.
<b>Финализаторы и деструкторы в C#</b>
Правила:
1. Финализатор имеет смысл только если непосредственно ваш класс хранит в себе Handle внешнего ресурса (за редчайшим исключением)
2. Если вас потянуло на Finalize, постарайтесь переключиться на IDisposable, это и безвредно, и полезно
3. При переопределении метода Dispose(bool) выполняйте очистительные действия только если disposing==true (в противном случае очистку сделают и без вас)
30.01.06 00:08: Перенесено из '.NET'