Stream.Dispose メソッド

定義

この Stream オブジェクトによって使用されているすべてのリソースを解放します。

オーバーロード

Dispose()

Stream によって使用されているすべてのリソースを解放します。

Dispose(Boolean)

Stream によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Dispose()

Stream によって使用されているすべてのリソースを解放します。

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

実装

注釈

このメソッドは、バッキング ストアに変更を書き込み、ストリームを閉じてリソースを解放することで、ストリームを破棄します。

呼び出すと Dispose 、他の Stream 目的で使用されるリソースを再割り当てできます。 詳細については Dispose、「 アンマネージド リソースのクリーンアップ」を参照してください。

注意 (継承者)

ストリーム オブジェクト Dispose(Boolean)のすべてのクリーンアップ ロジックを配置します。 オーバーライド Close()しないでください。

下位互換性の要件のため、このメソッドの実装は、Dispose パターンの推奨されるガイダンスとは異なる点に注意してください。 このメソッドは、呼び出しを呼び出 Close()します Dispose(Boolean)

適用対象

Dispose(Boolean)

Stream によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

パラメーター

disposing
Boolean

マネージド リソースとアンマネージド リソースの両方を解放する場合は true。アンマネージド リソースだけを解放する場合は false

注釈

を指定して、すべてのリソースを解放するtrue``disposing必要があります。 このtrue場合disposing、ストリームは、基になるバッファーにデータがフラッシュされ、他のファイナライズ可能なオブジェクトにアクセスするようにすることもできます。 ファイナライザー間で並べ替えがないため、ファイナライザーから呼び出された場合、これは不可能な場合があります。

ストリームがオペレーティング システム ハンドルを使用してソースと通信する場合は、この目的でサブクラスを SafeHandle 使用することを検討してください。

このメソッドは、パブリックな Dispose メソッドと Finalize メソッドによって呼び出されます。 Disposeは、パラメーターが に設定された保護されたDisposeメソッドをtrue``disposing呼び出します。 FinalizeDisposeに設定falseしてdisposing呼び出します。

注意 (継承者)

派生クラスでは、メソッドを Close() オーバーライドしないでください。代わりに、すべての Stream クリーンアップ ロジックをメソッドに Dispose(Boolean) 配置します。

Dispose() は、他のオブジェクトから複数回呼び出すことができます。 Dispose(Boolean) をオーバーライドする場合は、以前に Dispose() を呼び出したときに破棄されたオブジェクトを参照しないように注意する必要があります。 実装 Dispose(Boolean)方法の詳細については、「 Dispose メソッドの実装」を参照してください。

詳細Dispose()Finalize()については、「アンマネージド リソースのクリーンアップ」を参照してください。

適用対象