Compartilhar via


Método SafeHandle.Dispose ()

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Libera todos os recursos usados pela classe SafeHandle.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

public void Dispose()
public:
virtual void Dispose() sealed
abstract Dispose : unit -> unit
override Dispose : unit -> unit
Public Sub Dispose

Implementa

IDisposable.Dispose()

Comentários

Chamando o Close ou Dispose método permite que os recursos sejam liberados. Isso pode não acontecer imediatamente se outros threads estão usando a mesma instância de SafeHandle, mas ocorrerá assim que não é mais o caso. Embora mais classes usando SafeHandle não é necessário fornecer um finalizador, às vezes, é necessário (por exemplo, para liberar os buffers de arquivo ou write-back de alguns dados na memória). Nesse caso, podem fornecer um finalizador que sempre é executado antes do SafeHandle executa finalizador crítico.

Chamar o Close ou Dispose método quando tiver terminado de usar o SafeHandle objeto. O Close método deixa o SafeHandle objeto em um estado inutilizável.

Dica

Sempre chamar o Close ou Dispose método antes de liberar sua última referência para o SafeHandle objeto. Caso contrário, os recursos que está usando não serão liberados até que o coletor de lixo chame o SafeHandle do objeto Finalize método.

Segurança

SecurityPermission

for permission to call unmanaged code. Security action: F:System.Security.Permissions.SecurityAction.LinkDemand. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

Dispose Sobrecarga
Classe SafeHandle
Namespace System.Runtime.InteropServices

Retornar ao início