Проверяет знание шаблона очистки неуправляемых ресурсов в .NET.
Короткий ответ
IDisposable реализуют классы, владеющие неуправляемыми ресурсами (файлы, сокеты). Метод Dispose() вызывается вручную или через using для немедленного освобождения. Finalize (деструктор) запускается GC при сборке, если Dispose не был вызван, но не гарантирует время выполнения. Реализация часто сочетает оба: в finalizer’е вызывают Dispose(false), а в Dispose() — GC.SuppressFinalize(this).
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.