Stream.Close Metoda

Definicja

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.

Dotyczy

Zobacz też