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
.