Ответ 1
Сначала убедитесь, что вы Flush()
писатель.
И затем просто уберите или закройте 2 декоратора и поток (вложенные операции в порядке).
Как управлять закрытием StreamReader
и StreamWriter
, которые используют один и тот же базовый поток?
var stream = /*...*/;
var reader = new StreamReader(stream);
var writer = new StreamWRiter(stream);
Я знаю, что могу просто игнорировать закрытие читателя/писателя и просто закрыть базовый поток. Однако это кажется немного взломанным, поскольку оно основано на предположении , что читателю/писателю нечего распоряжаться (что может быть и не так в будущем).
Я знаю, что это было решено в .NET 4.5 с дополнительным аргументом конструктора, но до тех пор, пока .NET 4.5 не будет выпущен, как я могу его правильно решить?
Сначала убедитесь, что вы Flush()
писатель.
И затем просто уберите или закройте 2 декоратора и поток (вложенные операции в порядке).