Freigeben über


Stream.Close Methode

Definition

Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles). Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird.

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

Hinweise

Diese Methode ruft auf Dispose, und gibt an, true um alle Ressourcen freizugeben. Sie müssen die Close -Methode nicht explizit aufrufen. Stellen Sie stattdessen sicher, dass jedes Stream Objekt ordnungsgemäß verworfen wird. Sie können Objekte innerhalb eines using Blocks (oder Using Blocks in Visual Basic) deklarierenStream, um sicherzustellen, dass der Stream und alle zugehörigen Ressourcen verworfen werden, oder Sie können die Dispose -Methode explizit aufrufen.

Durch das Leeren des Datenstroms wird der zugrunde liegende Encoder nicht geleert, es sei denn, Sie rufen explizit eine Implementierung von Flush oder Closeauf. Die Einstellung AutoFlush auf true bedeutet, dass Daten aus dem Puffer in den Stream geleert werden, der Encoderzustand jedoch nicht geleert wird. Dadurch kann der Encoder seinen Zustand (Teilzeichen) beibehalten, damit er den nächsten Zeichenblock ordnungsgemäß codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, bei denen bestimmte Zeichen erst codiert werden können, nachdem der Encoder die angrenzenden Zeichen empfangen hat.

Versuche, den Stream nach dem Schließen des Datenstroms zu bearbeiten, können eine ObjectDisposedExceptionauslösen.

Hinweise für Vererber

Überschreiben Sie in abgeleiteten Klassen nicht die Close() -Methode, sondern fügen Sie die Stream gesamte Bereinigungslogik in die Dispose(Boolean) -Methode ein. Weitere Informationen finden Sie unter Implementieren einer Dispose-Methode.

Gilt für:

Weitere Informationen