Stream.Dispose Metodo

Definizione

Rilascia tutte le risorse usate dall'oggetto Stream.

Overload

Dispose()

Rilascia tutte le risorse usate da Stream.

Dispose(Boolean)

Rilascia le risorse non gestite usate da Stream e, facoltativamente, le risorse gestite.

Dispose()

Rilascia tutte le risorse usate da Stream.

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

Implementazioni

Commenti

Questo metodo elimina il flusso, scrivendo eventuali modifiche nell'archivio di backup e chiudendo il flusso per rilasciare le risorse.

La Dispose chiamata di consente di riallocare le risorse usate da Stream per altri scopi. Per altre informazioni su Dispose , vedere Pulizia di risorse non gestite.

Note per gli eredi

Inserire tutta la logica di pulizia per l'oggetto flusso in Dispose(Boolean) . Non eseguire l'override di Close() .

Si noti che, a causa dei requisiti di compatibilità con le versioni precedenti, l'implementazione di questo metodo differisce dalle indicazioni consigliate per il modello Dispose. Questo metodo chiama Close() , che quindi chiama Dispose(Boolean) .

Si applica a

Dispose(Boolean)

Rilascia le risorse non gestite usate da Stream e, facoltativamente, le risorse gestite.

protected:
 virtual void Dispose(bool disposing);
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 rilasciare sia le risorse gestite sia quelle non gestite; false per rilasciare solo le risorse non gestite.

Commenti

È necessario rilasciare tutte le risorse specificando true per disposing . Quando è , il flusso può anche garantire che i dati vengono scaricati nel buffer sottostante e disposing accedere ad altri oggetti true finalizzabili. Ciò potrebbe non essere possibile quando viene chiamato da un finalizzatore a causa della mancanza di ordinamento tra i finalizzatori.

Se il flusso usa un handle del sistema operativo per comunicare con l'origine, è consigliabile usare una sottoclasse SafeHandle di a questo scopo.

Questo metodo viene chiamato dal metodo Dispose pubblico e dal metodo Finalize . Dispose richiama il metodo Dispose protetto con il parametro impostato su disposing true . Finalize richiama con Dispose disposing impostato su false .

Note per gli eredi

Nelle classi derivate non eseguire l'override del metodo , ma inserire tutta la logica di pulizia Close() stream nel Dispose(Boolean) metodo .

Il metodo Dispose() può essere chiamato più volte da altri oggetti. In caso di override di Dispose(Boolean), non fare riferimento a oggetti già eliminati in una chiamata precedente a Dispose(). Per altre informazioni su come implementare Dispose(Boolean) , vedere Implementazione di un metodo Dispose.

Per altre informazioni su Dispose() e , vedere Pulizia di risorse non Finalize() gestite.

Si applica a