Очистка неуправляемых ресурсов

Обновлен: Ноябрь 2007

Вызовы методов Finalize объекта непосредственно пользователями приложения должны быть запрещены. Сделать это можно, ограничив область видимости этих методов зоной protected. Кроме того, должны быть исключены вызовы напрямую из программного кода приложения методов Finalize для классов, отличных от базовых классов. Правильно распорядиться неуправляемыми ресурсами можно, реализуя открытые методы Dispose и Close, которые выполняют необходимый программный код очистки объекта. Интерфейс IDisposable предоставляет метод Dispose для классов ресурса, реализующего интерфейс. Так как метод Dispose является открытым, пользователи приложения могут непосредственно вызывать его для освобождения памяти, используемой неуправляемыми ресурсами. При правильной реализации метода Dispose метод Finalize становится защитой для очистки ресурсов в случае, если метод Dispose не будет вызван. Дополнительные сведения о правильной реализации см. в разделе Реализация метода Dispose.

В этом подразделе

Ссылка

  • System.IDisposable
    Определяет метод Dispose для освобождения неуправляемых ресурсов.