Stream.Dispose Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Uvolní všechny prostředky používané Stream objektem .
Přetížení
Dispose() |
Uvolní všechny prostředky používané v Stream . |
Dispose(Boolean) |
Uvolní nespravované prostředky používané objektem a Stream volitelně uvolní spravované prostředky. |
Dispose()
Uvolní všechny prostředky používané v 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 uvolní datový proud tím, že zapisuje jakékoli změny do zálohovacího úložiště a zavře datový proud pro uvolnění prostředků.
Volání umožňuje přerozdělování prostředků používaných pro Dispose
Stream jiné účely. Další informace o najdete Dispose
v tématu Vyčištění nespravovaných prostředků.
Poznámky pro dědice
Všechny logiky čištění pro objekt streamu umístěte do Dispose(Boolean) . Nepřepište Close() .
Vzhledem k požadavkům na zpětnou kompatibilitu se implementace této metody liší od doporučených pokynů pro vzor Dispose. Tato metoda volá Close() metodu , která pak volá Dispose(Boolean) .
Platí pro
Dispose(Boolean)
Uvolní nespravované prostředky používané objektem a Stream 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
Všechny prostředky byste měli uvolnit zadáním true
pro disposing
. Pokud je , může datový proud také zajistit vyprázdnění dat do podkladové vyrovnávací paměti a přístup k dalším disposing
true
finalizovatelným objektům. To nemusí být možné při volání z finalizační metody kvůli nedostatečnému řazení mezi finalizačními metodami.
Pokud datový proud ke komunikaci se svým zdrojem používá popisovač operačního systému, zvažte pro tento účel SafeHandle použití podtřídy .
Tuto metodu volá veřejná Dispose metoda a Finalize metoda . Dispose vyvolá chráněnou Dispose metodu s disposing
parametrem nastaveným na true
. Finalize vyvolá s Dispose disposing
nastavenou na false
.
Poznámky pro dědice
V odvozených třídách nepřepište metodu , místo toho dejte celou logiku čištění Close() streamu do Dispose(Boolean) metody .
Dispose() může být volán vícekrát jinými objekty. Při přepisování buďte opatrní, abyste neodk odkazovat na objekty, které byly dříve odstraněny v Dispose(Boolean) dřívějším volání Dispose() metody . Další informace o tom, jak implementovat Dispose(Boolean) , najdete v tématu Implementace metody Dispose.
Další informace o a Dispose() najdete v tématu Vyčištění Finalize() nespravovaných prostředků.