Udostępnij za pośrednictwem


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ć 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.

Dotyczy

Zobacz też