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

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.

Gilt für