BaseStreamを閉じずにStreamWriterを閉じる方法はありますか?
私の根本的な問題は、ときということです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 …