CriticalHandle.Dispose Метод

Определение

Помечает дескриптор для освобождения самого дескриптора и соответствующих ресурсов.Marks the handle for releasing and freeing resources.

Перегрузки

Dispose()

Освобождает все ресурсы, занятые модулем CriticalHandle.Releases all resources used by the CriticalHandle.

Dispose(Boolean)

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

Dispose()

Освобождает все ресурсы, занятые модулем CriticalHandle.Releases all resources used by the CriticalHandle.

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

Реализации

Комментарии

Вызов Close метода или Dispose позволяет освободить ресурсы.Calling the Close or Dispose method allows the resources to be freed. В отличие от SafeHandle класса, это всегда происходит немедленно, так как счетчик ссылок не используется для указания того, что другие потоки используют этот обработчик.Unlike the SafeHandle class, this will always happen immediately since there is no reference count to indicate that other threads are using this handle. Поэтому необходимо использовать механизм синхронизации, чтобы обеспечить безопасность вызова Dispose метода.Therefore, you must employ a synchronization mechanism to ensure it is safe to call the Dispose method. Хотя большинству классов, использующих CriticalHandle класс, не требуется предоставлять метод завершения, иногда это необходимо (например, для очистки буферов файлов или записи данных обратно в память).Although most classes that use the CriticalHandle class 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). В этом случае класс может предоставить метод завершения, который гарантированно будет выполняться перед CriticalHandle запуском критического метода завершения.In this case, the class can provide a finalizer that is guaranteed to run before the CriticalHandle critical finalizer runs.

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

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

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

Dispose(Boolean)

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

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 для завершения работы с дескриптором.true for a normal dispose operation; false to finalize the handle.

Атрибуты

Комментарии

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

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