我有一个接受流作为输入的类(在构造函数中)。它通过各种方法表示来自此流的内容。
但是,我不希望我的对象负责关闭流 - 这应该是调用者的责任。因此,我需要在我的类中关闭我的StreamReader,但是我无法关闭底层流。
这可能吗?
答案 0 :(得分:4)
关闭流读取器将关闭基础流。没有办法解决这个问题。但是,您需要关闭流读取器的仅原因是基础流也已关闭。其余部分都是托管代码。这意味着你可以放弃你的streamreader,一切都应该没问题 - 假设你的调用者记得按他们的意愿关闭他们的流。
答案 1 :(得分:3)
StreamReader
旨在获取对基础流的完全和唯一所有权。
特别是,StreamReader
将在流中任意读取以填充内部缓冲区。 (这一点我一次)
如果您需要共享流,则可能根本不应使用StreamReader
。