Sdílet prostřednictvím


Stream.Close Metoda

Definice

Zavře aktuální datový proud a uvolní všechny prostředky (například sokety a popisovače souborů) přidružené k aktuálnímu datovému proudu. Místo volání této metody se ujistěte, že je datový proud správně odstraněn.

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

Poznámky

Tato metoda volá Disposea určuje uvolnění true všech prostředků. Není nutné metodu Close volat konkrétně. Místo toho se ujistěte, že jsou všechny Stream objekty správně odstraněny. Můžete deklarovat Stream objekty v rámci using bloku (nebo Using bloku v jazyce Visual Basic), aby se zajistilo, že datový proud a všechny jeho prostředky jsou odstraněny, nebo můžete explicitně volat metodu Dispose .

Vyprázdnění datového proudu nevyprázdní jeho základní kodér, pokud explicitně nevoláte implementaci Flush nebo Close. Nastavení AutoFlush na znamená true , že data budou vyprázdněna z vyrovnávací paměti do datového proudu, ale stav kodéru se nevyprázdní. To umožňuje kodéru zachovat svůj stav (částečné znaky), aby mohl správně zakódovat další blok znaků. Tento scénář má vliv na UTF8 a UTF7, kde určité znaky lze zakódovat až poté, co kodér přijme sousední znak nebo znaky.

Při pokusu o manipulaci s datovým proudem po zavření datového proudu může dojít k ObjectDisposedExceptionchybě .

Poznámky pro dědice

V odvozených třídách nepřepište metodu Close() , místo toho vložte veškerou logiku Stream čištění do Dispose(Boolean) metody. Další informace najdete v tématu Implementace metody Dispose.

Platí pro

Viz také