Итак, на чем мы остановились? На данный момент мы уже рассмотрели детерминированное завершение, которое работает так:
В случае освобождения дефицитных ресурсов Microsoft предлагает решение, в основе которого лежит метод Dispose. Эта схема рекомендует, чтобы у объекта был открытый метод с универсальным именем, например
Cleanup
или
Dispose,
который пользователь согласно инструкции должен вызывать, закончив применять объект. При этом всю очистку в этом методе определяет разработчик класса. Фактически вы увидите, что для этой цели у многих классов из библиотеки .NET Framework реализован метод
Dispose.
В качестве примера приведу выдержку из документации класса
System. Wmforms. Traylcon:
"при завершении использования
Tray Icon
вызовите метод
Dispose".