Sdílet prostřednictvím


Stream.Dispose Metoda

Definice

Uvolní všechny prostředky používané objektem Stream .

Přetížení

Dispose()

Uvolní všechny prostředky používané nástrojem Stream.

Dispose(Boolean)

Uvolní nespravované prostředky používané Stream nástrojem a volitelně uvolní spravované prostředky.

Dispose()

Zdroj:
Stream.cs
Zdroj:
Stream.cs
Zdroj:
Stream.cs

Uvolní všechny prostředky používané nástrojem Stream.

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

Implementuje

Poznámky

Tato metoda odstraní stream tím, že zapíše všechny změny do záložního úložiště a zavře stream, aby se uvolnily prostředky.

Volání Dispose umožňuje přerozdělit prostředky používané nástrojem Stream pro jiné účely. Další informace o nástroji Disposenajdete v tématu Čištění nespravovaných prostředků.

Poznámky pro dědice

Veškerou logiku čištění pro objekt streamu umístěte do Dispose(Boolean). Nepřepište Close().

Všimněte si, že vzhledem k požadavkům na zpětnou kompatibilitu se implementace této metody liší od doporučených pokynů pro model Dispose. Tato metoda volá Close()a pak volá Dispose(Boolean).

Platí pro

Dispose(Boolean)

Zdroj:
Stream.cs
Zdroj:
Stream.cs
Zdroj:
Stream.cs

Uvolní nespravované prostředky používané Stream nástrojem a volitelně uvolní spravované prostředky.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Parametry

disposing
Boolean

Hodnota true slouží k uvolnění spravovaných i nespravovaných prostředků, hodnota false slouží k uvolnění pouze nespravovaných prostředků.

Poznámky

Měli byste uvolnit všechny prostředky zadáním true pro disposing. Pokud disposing je true, může stream také zajistit, aby se data vyprázdnila do podkladové vyrovnávací paměti a přistupovala k dalším dokonvatelným objektům. To nemusí být možné při zavolání z finalizátoru kvůli nedostatečnému pořadí mezi finalizátory.

Pokud váš datový proud ke komunikaci se zdrojem používá popisovač operačního systému, zvažte použití podtřídy SafeHandle pro tento účel.

Tato metoda je volána veřejnou Dispose() metodou a metodou Finalize() , pokud byla přepsána. Dispose() vyvolá chráněnou Dispose metodu s parametrem nastaveným disposing na true. FinalizeDispose vyvolá s nastaveným disposing na false.

Poznámky pro dědice

V odvozených třídách nepřepište metoduClose(), místo toho vložte do metody veškerou logiku Dispose(Boolean) Stream čištění.

Dispose() může být volána vícekrát jinými objekty. Při přepsání Dispose(Boolean)dávejte pozor, abyste neodkazovali na objekty, které byly dříve odstraněny při dřívějším volání nástroje Dispose(). Další informace o implementaci Dispose(Boolean)najdete v tématu Implementace metody Dispose.

Další informace o Dispose() a Finalize()najdete v tématu Čištění nespravovaných prostředků.

Platí pro