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 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ć Stream obiekty 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 podstawowego kodera, chyba że jawnie wywołasz implementację elementu 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), dzięki czemu będzie mógł 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 przez koder.
Próby manipulowania strumieniem po zamknięciu strumienia mogą zgłosić błąd ObjectDisposedException.
Uwagi 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.