Объект StreamWriter, объявленный с помощью leftOpen = true, не генерирует исключения при попытке записи в удаленный BaseStream? - PullRequest
0 голосов
/ 29 октября 2019

Пример рабочего кода:

MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true);
writer.Write(content);
writer.Dispose();
writer.Write("no exception thrown"); // you can use this, but I've checked - it's not 
                                     // modifying the baseStream
                                     // which is the expected behavior
writer.WriteLine("same story here); // -- II -- 
stream.Dispose();
writer.WriteLine("again no exceptions thrown");
writer.Write("for both methods");

Мне известно, что после удаления writer, хотя исключений для использования WriteLine или Write не возникает, никаких реальных изменений не происходит. сделано для объекта stream / writer.BaseStream.

Также следует отметить, что вызов Close для writer приведет к исключению после удаления объекта stream. Почему возникает исключение, а не в описанных выше методах? Объект даже расположен?

...