Condividi tramite


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()

Origine:
Stream.cs
Origine:
Stream.cs
Origine:
Stream.cs

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 tutte le modifiche apportate all'archivio di backup e chiudendo il flusso per rilasciare le risorse.

La chiamata Dispose consente di riallocare le risorse usate da Stream per altri scopi. Per altre informazioni su Dispose, vedere Pulizia delle 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 è diversa dalle indicazioni consigliate per il modello Dispose. Questo metodo chiama Close(), che chiama Dispose(Boolean)quindi .

Si applica a

Dispose(Boolean)

Origine:
Stream.cs
Origine:
Stream.cs
Origine:
Stream.cs

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

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

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

Questo metodo viene chiamato dal metodo public Dispose() e dal Finalize() metodo , se è stato sottoposto a override. Dispose() richiama il metodo protetto Dispose con il disposing parametro impostato su true. Finalize richiama Dispose con disposing impostato su false.

Note per gli eredi

Nelle classi derivate non eseguire l'override del Close() metodo , inserire invece tutte le Stream logica di pulizia 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 , vedere Implementazione Dispose(Boolean)di un metodo Dispose.

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

Si applica a