SafeHandle.Dispose Metodo

Definizione

Rilascia le risorse usate 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 utilizzate 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 Close al Dispose metodo o 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 SafeHandle delle classi che usano 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 viene eseguito prima dell'esecuzione del SafeHandle finalizzatore critico.In this case, they can provide a finalizer that is guaranteed to run before the SafeHandle critical finalizer runs.

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

Nota

Chiamare sempre il Close metodo Dispose o prima di rilasciare l'ultimo riferimento all' SafeHandle oggetto.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 utilizzate 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 Dispose il metodo con disposing il parametro impostato falsesu.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