Stream.Dispose Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 Dispose
finden 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 disposing
angebentrue
. 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 true
festgelegt 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.