私はstream
は基本的にMemoryStream
で次のコードパッケージが基本ストリームを閉じないのはなぜですか?
Package package = Package.Open(stream, fileMode, fileAccess);
で開かPackage
を使用しています。今私がpackage.Close()
と呼ぶと、メモリストリームはまだ開いています。
私は、ファイルのパスを入力してパッケージを閉じる場所に、オーバーロードされたメソッドを使用すると、ファイルハンドルが破棄されます。私がStreamReader
を開いてそれを閉じると、基になるストリームが破棄されます。
Package
クラスは、基本ストリームを破棄しないのはなぜですか?
まだ開いていると言うと、 'CanRead' /' CanSeek'/'CanWrite'のプロパティは引き続き'MemoryStream'バッファ? –
@FedericoDipuma私は基本的にストリームを閉じていくつかの作業(ファイルシステムに書き戻す)を行うのを待つ、基本クラスとしてメモリストリームを持つ特殊なクラスを持っています。ストリームが決して閉じられない場合、これは起こりません。 – Yggdrasil