CriticalHandle.Close Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Помечает дескриптор для освобождения самого дескриптора и соответствующих ресурсов.
public:
void Close();
public void Close ();
[System.Security.SecurityCritical]
public void Close ();
member this.Close : unit -> unit
[<System.Security.SecurityCritical>]
member this.Close : unit -> unit
Public Sub Close ()
- Атрибуты
Комментарии
Close Вызов метода или Dispose позволяет освободить ресурсы. SafeHandle В отличие от класса , это всегда происходит немедленно, так как не существует количества ссылок, указывающих на то, что другие потоки используют этот дескриптор. Поэтому необходимо использовать механизм синхронизации, чтобы обеспечить безопасность вызова Close метода . Хотя большинству классов, использующих CriticalHandle класс , не требуется предоставлять метод завершения, иногда это необходимо (например, для очистки буферов файлов или записи некоторых данных обратно в память). В этом случае класс может предоставить метод завершения, который гарантированно будет выполняться до выполнения критического CriticalHandle метода завершения.
Close Вызовите метод или Dispose по завершении использования CriticalHandle объекта . Метод Close оставляет CriticalHandle объект в непригодном для использования состоянии.
Примечание Всегда вызывайте Close или Dispose перед освобождением последней ссылки на CriticalHandle объект . В противном случае используемые им ресурсы не будут освобождены до тех пор, пока сборщик мусора не вызовет для объекта CriticalHandle метод Finalize.