Freigeben über


Stream.Dispose Methode

Definition

Gibt alle vom Stream-Objekt verwendeten Ressourcen frei.

Überlädt

Dispose()

Gibt alle vom Stream verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von Stream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Dispose()

Quelle:
Stream.cs
Quelle:
Stream.cs
Quelle:
Stream.cs

Gibt alle vom Stream verwendeten Ressourcen frei.

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

Implementiert

Hinweise

Diese Methode entfernt den Stream, indem alle Änderungen an den Sicherungsspeicher geschrieben und der Stream geschlossen wird, um Ressourcen freizugeben.

Durch aufrufen Dispose können die von verwendeten Stream Ressourcen für andere Zwecke neu zugeordnet werden. Weitere Informationen zu Disposefinden Sie unter Bereinigen nicht verwalteter Ressourcen.

Hinweise für Vererber

Platzieren Sie die gesamte Bereinigungslogik für Ihr Streamobjekt in Dispose(Boolean). Überschreiben Close()Sie nicht .

Beachten Sie, dass sich die Implementierung dieser Methode aufgrund der Abwärtskompatibilitätsanforderungen von der empfohlenen Anleitung für das Dispose-Muster unterscheidet. Diese Methode ruft auf Close(), die dann aufruft Dispose(Boolean).

Gilt für:

Dispose(Boolean)

Quelle:
Stream.cs
Quelle:
Stream.cs
Quelle:
Stream.cs

Gibt die von Stream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

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)

Parameter

disposing
Boolean

true, um sowohl verwaltete als auch nicht verwaltete Ressourcen freizugeben, false, um ausschließlich nicht verwaltete Ressourcen freizugeben.

Hinweise

Sie sollten alle Ressourcen freigeben, indem Sie für disposingangebentrue. Wenn disposing dies der Wert ist true, kann der Stream auch sicherstellen, dass Daten in den zugrunde liegenden Puffer geleert werden und auf andere abschließende Objekte zugreifen. Dies ist möglicherweise nicht möglich, wenn von einem Finalizer aufgerufen wird, weil die Reihenfolge zwischen den Finalisierern fehlt.

Wenn Ihr Stream ein Betriebssystemhandle verwendet, um mit seiner Quelle zu kommunizieren, sollten Sie zu diesem Zweck eine Unterklasse von SafeHandle verwenden.

Diese Methode wird von der öffentlichen Dispose() Methode und der Finalize() -Methode aufgerufen, wenn sie überschrieben wurde. Dispose() ruft die geschützte Dispose Methode auf, wobei der disposing Parameter auf truefestgelegt ist. Finalize ruft auf, Dispose wobei disposing auf festgelegt ist false.

Hinweise für Vererber

Überschreiben Sie in abgeleiteten Klassen nicht die Close() -Methode, sondern die gesamte Stream Bereinigungslogik in der Dispose(Boolean) -Methode.

Dispose() kann von anderen Objekten mehrmals aufgerufen werden. Beim Überschreiben von Dispose(Boolean) müssen Sie darauf achten, nicht auf Objekte zu verweisen, die durch einen früheren Aufruf von Dispose() freigegeben wurden. Weitere Informationen zum Implementieren Dispose(Boolean)finden Sie unter Implementieren einer Dispose-Methode.

Weitere Informationen zu Dispose() und Finalize()finden Sie unter Bereinigen nicht verwalteter Ressourcen.

Gilt für: