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()
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 gibt den Stream frei, indem alle Änderungen in den Sicherungsspeicher geschrieben und der Stream geschlossen wird, um Ressourcen freizugeben.
Durch Aufrufen Dispose
von können die von verwendeten Ressourcen für andere Zwecke neu zugeordnet Stream werden. Weitere Informationen zu Dispose
finden Sie unter Bereinigen von nicht verwalteten Ressourcen.
Hinweise für Vererber
Platzieren Sie die gesamte Bereinigungslogik für Ihr Streamobjekt in Dispose(Boolean) . Überschreiben Sie nicht Close() .
Beachten Sie, dass sich die Implementierung dieser Methode aufgrund der Anforderungen an die Abwärtskompatibilität von der empfohlenen Anleitung für das Dispose-Muster unterscheidet. Diese Methode ruft Close() auf, die dann aufruft. Dispose(Boolean)
Gilt für
Dispose(Boolean)
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 true
für disposing
angeben. Wenn disposing
true
ist, kann der Stream auch sicherstellen, dass Daten in den zugrunde liegenden Puffer geleert werden, und auf andere finalisierbare Objekte zugreifen. Dies ist möglicherweise nicht möglich, wenn sie von einem Finalizer aufgerufen wird, weil die Reihenfolge zwischen den Finalizern fehlt.
Wenn Ihr Stream ein Betriebssystemhandle für die Kommunikation mit der Quelle verwendet, sollten Sie zu diesem Zweck eine Unterklasse von SafeHandle verwenden.
Diese Methode wird von der öffentlichen Dispose Methode und der Finalize -Methode aufgerufen. Dispose ruft die geschützte Dispose Methode auf, wobei der disposing
Parameter auf festgelegt true
ist. Finalize ruft Dispose auf, disposing
wobei auf festgelegt false
ist.
Hinweise für Vererber
Überschreiben Sie in abgeleiteten Klassen nicht die Close() -Methode, sondern legen Sie die gesamte Stream-Bereinigungslogik in die Dispose(Boolean) -Methode ein.
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 von Dispose(Boolean) finden Sie unter Implementieren einer Dispose-Methode.
Weitere Informationen zu Dispose() und finden Sie unter Finalize() Bereinigen von nicht verwalteten Ressourcen.