Stream.Close メソッド

定義

現在のストリームを閉じ、現在のストリームに関連付けられているリソース (ソケットやファイル ハンドルなど) を解放します。 このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。

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

注釈

このメソッドは Disposeを呼び出し、すべてのリソースを解放する true を指定します。 Close メソッドを明示的に呼び出す必要はありません。 代わりに、すべての Stream オブジェクトが適切に破棄されていることを確認します。 Stream オブジェクトを using ブロック (または Visual Basic の Using ブロック) 内で宣言して、ストリームとそのすべてのリソースが確実に破棄されるようにするか、Dispose メソッドを明示的に呼び出すことができます。

FlushまたはCloseの実装を明示的に呼び出さない限り、ストリームをフラッシュしても、基になるエンコーダーはフラッシュされません。 AutoFlushtrue に設定すると、データはバッファーからストリームにフラッシュされますが、エンコーダーの状態はフラッシュされません。 これにより、エンコーダーは状態 (部分的な文字) を保持して、次の文字ブロックを正しくエンコードできます。 このシナリオは UTF8 と UTF7 に影響を与え、エンコーダーが隣接する文字を受信した後にのみ特定の文字をエンコードできます。

ストリームが閉じられた後にストリームを操作しようとすると、 ObjectDisposedExceptionがスローされる可能性があります。

注意 (継承者)

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

適用対象

こちらもご覧ください