2012-05-14 9 views
10

同じ基本ストリームを使用しているStreamReaderStreamWriterのクローズをどのように管理できますか?StreamReaderとStreamWriterは同じストリームにありますか?

var stream = /*...*/; 
var reader = new StreamReader(stream); 
var writer = new StreamWRiter(stream); 

私は単にリーダ/ライタを閉じて無視して、基になるストリームをクローズできることを知っています。しかし、それは、の仮定に基づいているので、リーダ/ライタは処分することがない(将来はそうでないかもしれない)ので、ちょっとしたハックのようだ。

これは.NET 4.5で余分なコンストラクタ引数で解決されていますが、.NET 4.5がリリースされるまでにはどうすれば適切な方法で解決できますか?

答えて

5

Flush()最初に作者を確認してください。

そして、2つのデコレータとストリームを破棄または閉じるだけです(入れ子の使用はOKです)。

関連する問題