Stream.Close Stream.Close Stream.Close Stream.Close Method

定義

現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。Instead of calling this method, ensure that the stream is properly disposed.

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

注釈

このメソッドはDispose、をtrue呼び出し、すべてのリソースを解放するように指定します。This method calls Dispose, specifying true to release all resources. Closeメソッドを明示的に呼び出す必要はありません。You do not have to specifically call the Close method. 代わりに、すべてStreamのオブジェクトが適切に破棄されていることを確認してください。Instead, ensure that every Stream object is properly disposed. ブロック (またStreamUsing Visual Basic 内のブロック) Dispose内のオブジェクトを宣言して、ストリームとそのすべてのリソースが破棄されるようにすることも、メソッドを明示的に呼び出すこともできます。 usingYou can declare Stream objects within a using block (or Using block in Visual Basic) to ensure that the stream and all of its resources are disposed, or you can explicitly call the Dispose method.

またはFlush Closeの実装を明示的に呼び出す場合を除き、ストリームをフラッシュしても、基になるエンコーダーはフラッシュされません。Flushing the stream will not flush its underlying encoder unless you explicitly call an implementation of Flush or Close. AutoFlushtrue設定すると、バッファーからストリームにデータがフラッシュされますが、エンコーダーの状態はフラッシュされません。Setting AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. これにより、エンコーダーは次の文字ブロックを正しくエンコードできるように、その状態 (部分文字) を保持できます。This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. このシナリオは、エンコーダーが隣接する文字を受け取った後にのみ特定の文字をエンコードできる UTF8 と UTF7 に影響します。This scenario affects UTF8 and UTF7 where certain characters can be encoded only after the encoder receives the adjacent character or characters.

ストリームが閉じられた後にストリームを操作しようとObjectDisposedExceptionすると、がスローされる可能性があります。Attempts to manipulate the stream after the stream has been closed might throw an ObjectDisposedException.

注意 (継承者)

派生クラスでは、メソッドをオーバーライドClose()せずに、すべてStreamのクリーンアップロジックをDispose(Boolean)メソッドに配置します。In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method. 詳細については、「 Dispose メソッドの実装」を参照してください。For more information, see Implementing a Dispose Method.

適用対象

こちらもご覧ください