SafeHandle.Dispose Metodo

Definizione

Rilascia le risorse utilizzate dalla classe SafeHandle.Releases the resources used by the SafeHandle class.

Overload

Dispose()

Rilascia tutte le risorse usate dalla classe SafeHandle.Releases all resources used by the SafeHandle class.

Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe SafeHandle specificando se eseguire una normale operazione di eliminazione.Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

Dispose()

Rilascia tutte le risorse usate dalla classe 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 ()

Implementazioni

Commenti

La chiamata del metodo Close o Dispose consente di liberare le risorse.Calling the Close or Dispose method allows the resources to be freed. Questo problema potrebbe non avvenire immediatamente se gli altri thread utilizzano la stessa istanza dell'handle sicuro, ma si verificherà non appena non è più il caso.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. Sebbene la maggior parte delle classi che usano SafeHandle non debba fornire un finalizzatore, questo è talvolta necessario (ad esempio per scaricare i buffer di file o per riscrivere alcuni dati in memoria).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). In questo caso, possono fornire un finalizzatore che deve essere eseguito prima dell'esecuzione del finalizzatore critico SafeHandle.In this case, they can provide a finalizer that is guaranteed to run before the SafeHandle critical finalizer runs.

Al termine dell'utilizzo dell'oggetto SafeHandle, chiamare il metodo Close o Dispose.Call the Close or Dispose method when you are finished using the SafeHandle object. Il metodo Close lascia l'oggetto SafeHandle in uno stato inutilizzabile.The Close method leaves the SafeHandle object in an unusable state.

Nota

Chiamare sempre il metodo Close o Dispose prima di rilasciare l'ultimo riferimento all'oggetto SafeHandle.Always call the Close or Dispose method before you release your last reference to the SafeHandle object. In caso contrario, le risorse utilizzate non verranno liberate finché il metodo SafeHandle dell'oggetto Finalize non viene richiamato dal Garbage Collector.Otherwise, the resources it is using will not be freed until the garbage collector calls the SafeHandle object's Finalize method.

Sicurezza

SecurityPermission
per l'autorizzazione a chiamare codice non gestito.for permission to call unmanaged code. Azione di sicurezza: LinkDemand.Security action: LinkDemand. Enumerazione associata: UnmanagedCodeAssociated enumeration: UnmanagedCode

Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe SafeHandle specificando se eseguire una normale operazione di eliminazione.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)

Parametri

disposing
Boolean

true per una normale operazione di eliminazione; false per finalizzare l'handle.true for a normal dispose operation; false to finalize the handle.

Attributi

Commenti

Non chiamare mai in modo esplicito il metodo Dispose con il parametro disposing impostato su false.You should never explicitly call the Dispose method with the disposing parameter set to false.

Sicurezza

SecurityPermission
per l'autorizzazione a chiamare codice non gestito.for permission to call unmanaged code. Azione di sicurezza: LinkDemand.Security action: LinkDemand. Enumerazione associata: UnmanagedCodeAssociated enumeration: UnmanagedCode

Si applica a