Stream.Close Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zamyka bieżący strumień i zwalnia wszystkie zasoby (takie jak gniazda i uchwyty plików) skojarzone z bieżącym strumieniem. Zamiast wywoływać tę metodę, upewnij się, że strumień jest prawidłowo usuwany.
public:
virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()
Uwagi
Ta metoda wywołuje metodę Dispose, określając, true aby zwolnić wszystkie zasoby. Nie trzeba w szczególności wywoływać Close metody . Zamiast tego upewnij się, że każdy Stream obiekt jest prawidłowo usuwany. Obiekty można zadeklarować Stream w using bloku (lub Using bloku w Visual Basic), aby upewnić się, że strumień i wszystkie jego zasoby są usuwane, lub można jawnie wywołać metodę Dispose .
Opróżnienie strumienia nie spowoduje opróżnienia jego kodera bazowego, chyba że jawnie wywołasz implementację Flush lub Close. Ustawienie AutoFlush oznacza true , że dane zostaną opróżnione z buforu do strumienia, ale stan kodera nie zostanie opróżniony. Dzięki temu koder może zachować stan (częściowe znaki), aby można było poprawnie zakodować następny blok znaków. Ten scenariusz ma wpływ na utF8 i UTF7, gdzie niektóre znaki mogą być zakodowane tylko po otrzymaniu sąsiadującego znaku lub znaków.
Próby manipulowania strumieniem po zamknięciu strumienia mogą zgłaszać błąd ObjectDisposedException.
Uwagi dotyczące dziedziczenia
W klasach pochodnych nie przesłaniaj Close() metody, zamiast tego należy umieścić całą Stream logikę oczyszczania w metodzie Dispose(Boolean) . Aby uzyskać więcej informacji, zobacz Implementowanie metody Dispose.