Stream.Close Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. Bu yöntemi çağırmak yerine akışın düzgün bir şekilde atıldığından emin olun.
public:
virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()
Açıklamalar
Bu yöntem, tüm kaynakları serbest bırakmak için öğesini belirterek true
öğesini çağırırDispose. Yöntemini özellikle çağırmanız Close gerekmez. Bunun yerine, her Stream nesnenin düzgün bir şekilde atıldığından emin olun. Akışın ve tüm kaynaklarının atıldığından emin olmak için bir using
blok (veya Using
Visual Basic'te blok) içindeki nesneleri bildirebilir Stream veya yöntemini açıkça çağırabilirsinizDispose.
Akışın boşaltılması, veya Close
uygulamasını açıkça çağırmadığınız sürece temel aldığı kodlayıcıyı Flush temizlemez. ayarı AutoFlushtrue
, verilerin arabellekten akışa boşaltılacağı, ancak kodlayıcı durumunun boşaltılmayacağı anlamına gelir. Bu, kodlayıcının durumunu (kısmi karakterler) koruyabilmesini ve böylece bir sonraki karakter bloğunu doğru şekilde kodlamasını sağlar. Bu senaryo UTF8 ve UTF7'yi etkiler; burada belirli karakterler ancak kodlayıcı bitişik karakteri veya karakterleri aldıktan sonra kodlanabilir.
Akış kapatıldıktan sonra akışı işleme girişimleri bir ObjectDisposedExceptionoluşturur.
Devralanlara Notlar
Türetilmiş sınıflarda yöntemini geçersiz kılmayın Close() , bunun yerine tüm Stream
temizleme mantığını yöntemine Dispose(Boolean) yerleştirin. Daha fazla bilgi için bkz . Dispose Yöntemi Uygulama.