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 метод или Dispose перед выпуском последней ссылки на CriticalHandle объект . В противном случае используемые им ресурсы не будут освобождены до тех пор, пока сборщик мусора не вызовет для объекта 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.

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