Поделиться через


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.

Применяется к