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


CriticalHandle.Dispose Метод

Определение

Помечает дескриптор для освобождения самого дескриптора и соответствующих ресурсов.

Перегрузки

Dispose()

Освобождает все ресурсы, занятые модулем CriticalHandle.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом CriticalHandle, определяя, нужно ли выполнять обычную операцию удаления.

Dispose()

Исходный код:
CriticalHandle.cs
Исходный код:
CriticalHandle.cs
Исходный код:
CriticalHandle.cs

Освобождает все ресурсы, занятые модулем CriticalHandle.

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Реализации

Комментарии

Close Вызов метода или Dispose позволяет освободить ресурсы. SafeHandle В отличие от класса , это всегда происходит немедленно, так как не существует количества ссылок, указывающих на то, что другие потоки используют этот дескриптор. Поэтому необходимо использовать механизм синхронизации, чтобы обеспечить безопасность вызова Dispose метода . Хотя большинству классов, использующих CriticalHandle класс , не требуется предоставлять метод завершения, иногда это необходимо (например, для очистки буферов файлов или записи некоторых данных обратно в память). В этом случае класс может предоставить метод завершения, который гарантированно будет выполняться до выполнения критического CriticalHandle метода завершения.

Close Вызовите метод или Dispose по завершении использования CriticalHandle объекта . Метод Close оставляет CriticalHandle объект в непригодном для использования состоянии.

Примечание Перед освобождением последней Close ссылки на CriticalHandle объект всегда вызывайте метод или Dispose . В противном случае используемые им ресурсы не будут освобождены до тех пор, пока сборщик мусора не вызовет для объекта CriticalHandle метод Finalize.

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

Dispose(Boolean)

Исходный код:
CriticalHandle.cs
Исходный код:
CriticalHandle.cs
Исходный код:
CriticalHandle.cs

Освобождает неуправляемые ресурсы, используемые классом CriticalHandle, определяя, нужно ли выполнять обычную операцию удаления.

protected:
 virtual void Dispose(bool disposing);
[System.Security.SecurityCritical]
protected virtual void Dispose (bool disposing);
protected virtual void Dispose (bool disposing);
[<System.Security.SecurityCritical>]
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Параметры

disposing
Boolean

Значение true для обычной операции удаления и значение false для завершения работы с дескриптором.

Атрибуты

Комментарии

Никогда не следует явным Dispose образом вызывать метод с параметром disposing , равным false.

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