Stream.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。 このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。
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 オブジェクトが適切に破棄されていることを確認します。 ブロック (または Using
Visual Basic のブロック) 内でオブジェクトをusing
宣言Streamして、ストリームとそのすべてのリソースが確実に破棄されるようにするか、 メソッドをDispose明示的に呼び出すことができます。
または Close
の実装を明示的に呼び出さない限り、ストリームをフラッシュしても、基になるエンコーダーはFlushフラッシュされません。 にtrue
設定AutoFlushすると、データはバッファーからストリームにフラッシュされますが、エンコーダーの状態はフラッシュされません。 これにより、エンコーダーは状態 (部分的な文字) を保持して、次の文字ブロックを正しくエンコードできるようになります。 このシナリオは UTF8 と UTF7 に影響を与え、エンコーダーが隣接する文字を受信した後にのみ特定の文字をエンコードできます。
ストリームが閉じられた後にストリームを操作しようとすると、 がスローされる ObjectDisposedException可能性があります。
注意 (継承者)
派生クラスでは、 メソッドを Close() オーバーライドしないでください。代わりに、すべてのクリーンアップ ロジックを Stream
メソッドに Dispose(Boolean) 配置します。 詳細については、「 Dispose メソッドの実装」を参照してください。
適用対象
こちらもご覧ください
.NET