SafeHandle.Dispose Метод

Определение

Освобождение ресурсов, используемых классом SafeHandle.Releases the resources used by the SafeHandle class.

Перегрузки

Dispose()

Освобождает все ресурсы, используемые классом SafeHandle.Releases all resources used by the SafeHandle class.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом SafeHandle, определяя, нужно ли выполнять обычную операцию удаления.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

Dispose()

Освобождает все ресурсы, используемые классом SafeHandle.Releases all resources used by the SafeHandle class.

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

Реализации

Комментарии

Вызов метода Dispose или позволяет освободить ресурсы. CloseCalling the Close or Dispose method allows the resources to be freed. Это может произойти не сразу, если другие потоки используют один и тот же экземпляр безопасного обработчика, но будут выполняться, как только это будет происходить.This might not happen immediately if other threads are using the same instance of the safe handle, but will happen as soon as that is no longer the case. Хотя большинству классов SafeHandle , использующих, не требуется предоставлять метод завершения, иногда это необходимо (например, для очистки буферов файлов или записи данных обратно в память).Although most classes using SafeHandle do not need to provide a finalizer, this is sometimes necessary (for example, to flush out file buffers or to write some data back into memory). В этом случае они могут предоставить метод завершения, который гарантированно будет выполняться перед SafeHandle запуском критического метода завершения.In this case, they can provide a finalizer that is guaranteed to run before the SafeHandle critical finalizer runs.

По завершении Dispose использования SafeHandle объекта вызовите метод или.CloseCall the Close or Dispose method when you are finished using the SafeHandle object. Close МетодSafeHandle оставляет объект в непригодном для использования состоянии.The Close method leaves the SafeHandle object in an unusable state.

Примечание

Всегда вызывайте Close метод Dispose или перед тем, как освободить последнюю ссылку на SafeHandle объект.Always call the Close or Dispose method before you release your last reference to the SafeHandle object. В противном случае используемые им ресурсы не будут освобождены до тех пор, пока сборщик мусора не вызовет для объекта SafeHandle метод Finalize.Otherwise, the resources it is using will not be freed until the garbage collector calls the SafeHandle object's Finalize method.

Безопасность

SecurityPermission
разрешение на вызов неуправляемого кода.for permission to call unmanaged code. Действие по обеспечению безопасности: LinkDemand.Security action: LinkDemand. Связанное перечисление:UnmanagedCodeAssociated enumeration: UnmanagedCode

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом SafeHandle, определяя, нужно ли выполнять обычную операцию удаления.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

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

Параметры

disposing
Boolean

Значение true для обычной операции удаления и значение false для завершения работы с дескриптором.true for a normal dispose operation; false to finalize the handle.

Атрибуты

Комментарии

Никогда не следует явно вызывать Dispose метод с параметром, для falseкоторого disposing задано значение.You should never explicitly call the Dispose method with the disposing parameter set to false.

Безопасность

SecurityPermission
разрешение на вызов неуправляемого кода.for permission to call unmanaged code. Действие по обеспечению безопасности: LinkDemand.Security action: LinkDemand. Связанное перечисление:UnmanagedCodeAssociated enumeration: UnmanagedCode

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