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äß entsorgt wird. Sie können Objekte in einem using Block (oder Using Block 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 oder auf FlushClose. 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, sodass er den nächsten Zeichenblock ordnungsgemäß codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, wobei bestimmte Zeichen erst codiert werden können, nachdem der Encoder die angrenzenden Zeichen empfangen hat.

Versuche, den Stream zu bearbeiten, nachdem der Stream geschlossen wurde, können einen 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