Stream.Close Stream.Close Stream.Close Stream.Close Method

Definition

Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles).Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird.Instead of calling this method, ensure that the stream is properly disposed.

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 Disposeauf, true um anzugeben, dass alle Ressourcen freigegeben werden.This method calls Dispose, specifying true to release all resources. Sie müssen die Close -Methode nicht speziell aufzurufen.You do not have to specifically call the Close method. Stellen Sie stattdessen sicher, Stream dass jedes Objekt ordnungsgemäß freigegeben wird.Instead, ensure that every Stream object is properly disposed. Sie können Objekte Stream in einem using Block (oder Using einem Block in Visual Basic) deklarieren, um sicherzustellen, dass der Stream und alle zugehörigen Ressourcen verworfen werden, oder Sie Dispose können die Methode explizit aufzurufen.You can declare Stream objects within a using block (or Using block in Visual Basic) to ensure that the stream and all of its resources are disposed, or you can explicitly call the Dispose method.

Das Leeren des Streams leert den zugrunde liegenden Encoder nicht, es sei denn, Flush Sie Closehaben explizit eine Implementierung von oder aufgerufen.Flushing the stream will not flush its underlying encoder unless you explicitly call an implementation of Flush or Close. Wenn AutoFlush auftrue festgelegt wird, werden Daten aus dem Puffer in den Stream geleert, aber der Codierungs Zustand wird nicht geleert.Setting AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. Dies ermöglicht es dem Encoder, seinen Zustand (partielle Zeichen) beizubehalten, damit der nächste Zeichenblock ordnungsgemäß codiert werden kann.This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, bei denen bestimmte Zeichen nur codiert werden können, nachdem der Encoder die angrenzenden Zeichen oder Zeichen empfangen hat.This scenario affects UTF8 and UTF7 where certain characters can be encoded only after the encoder receives the adjacent character or characters.

Wenn versucht wird, den Stream zu ändern, nachdem der Stream geschlossen wurde ObjectDisposedException, wird möglicherweise eine ausgelöst.Attempts to manipulate the stream after the stream has been closed might throw an ObjectDisposedException.

Hinweise für Vererber

Überschreiben Sie die Close() -Methode in abgeleiteten Klassen nicht, sondern platzieren Sie die gesamte Stream Bereinigungs Logik Dispose(Boolean) in der-Methode.In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method. Weitere Informationen finden Sie unter Implementieren einerverwerfen-Methode.For more information, see Implementing a Dispose Method.

Gilt für:

Siehe auch