Aracılığıyla paylaş


Stream.Close Yöntem

Tanım

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 Closeuygulaması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.

Şunlara uygulanır

Ayrıca bkz.