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 true an, dass alle Ressourcen freizugeben sind. Sie müssen die -Methode nicht explizit Close aufrufen. Stellen Sie stattdessen sicher, dass jedes Stream Objekt ordnungsgemäß verworfen wird. Sie können Stream Objekte in einem using -Block (oder Using -Block in Visual Basic) deklarieren, um sicherzustellen, dass der Stream und alle zugehörigen Ressourcen verworfen werden, oder Sie können die -Methode explizit Dispose aufrufen.

Beim Leeren des Streams wird der zugrunde liegende Encoder nur geleert, wenn Sie explizit eine Implementierung von Flush oder Close aufrufen. Das Festlegen AutoFlush von 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, bei denen bestimmte Zeichen erst codiert werden können, nachdem der Encoder das benachbarte Zeichen oder die angrenzenden Zeichen empfangen hat.

Versuche, den Stream zu bearbeiten, nachdem der Stream geschlossen wurde, können eine ObjectDisposedException auslösen.

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. Weitere Informationen finden Sie unter Implementieren einer Dispose-Methode.

Gilt für:

Siehe auch