Stream.Close Metoda

Definicja

Zamyka bieżący strumień i zwalnia wszystkie zasoby (takie jak gniazda i dojścia 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 Disposemetodę , 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. Można zadeklarować obiekty Stream w bloku using (lub Using bloku w Visual Basic), aby upewnić się, że strumień i wszystkie jego zasoby są usuwane, lub jawnie wywołać metodę Dispose.

Opróżnienie strumienia nie spowoduje opróżnienia jego kodera bazowego, chyba że jawnie wywołasz implementację Flush elementu 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ć swój 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ć kodowane tylko po otrzymaniu sąsiadującego znaku lub znaków.

Próby manipulowania strumieniem po zamknięciu strumienia mogą zgłosić błąd ObjectDisposedException.

Notatki dotyczące dziedziczenia

W klasach pochodnych nie przesłaniaj Close() metody, zamiast tego umieść całą Stream logikę oczyszczania w metodzie Dispose(Boolean) . Aby uzyskać więcej informacji, zobacz Implementowanie metody Dispose.

Dotyczy

Zobacz też