有什么方法可以关闭StreamWriter而不关闭其BaseStream吗?
我的根本问题是,在using调用Dispose时StreamWriter,它还会处理BaseStream(与相同的问题Close)。 我有一个解决方法,但是如您所见,它涉及复制流。有什么方法可以做到不复制流? 这样做的目的是将字符串的内容(最初是从数据库中读取)放入流中,以便第三方组件可以读取该流。 注意:我无法更改第三方组件。 public System.IO.Stream CreateStream(string value) { var baseStream = new System.IO.MemoryStream(); var baseCopy = new System.IO.MemoryStream(); using (var writer = new System.IO.StreamWriter(baseStream, System.Text.Encoding.UTF8)) { writer.Write(value); writer.Flush(); baseStream.WriteTo(baseCopy); } baseCopy.Seek(0, System.IO.SeekOrigin.Begin); return baseCopy; } 用作 public void Noddy() { System.IO.Stream myStream = CreateStream("The contents of this string are …