在using
内部生成Stream
:
using (var generatedStream = GenerateStream(str))
{
var streamContent = generatedStream;
}
GenerateStream(string s)
看起来像这样:
private static Stream GenerateStream(string s)
{
var stream = new MemoryStream();
using (var writer = new StreamWriter(stream))
{
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
}
当我将generatedStream
分配给streamContent
时,更具体地说,当我退出using
中的GenerateStream
语句时,它会说stream
已被处置。在确保我处理我的作家时,我做错了什么?
更新:
在链接问题中发布的解决方案似乎是解决此特定问题的方法。
答案 0 :(得分:0)
方法GenerateStream()
中的using语句不应出现
using (var writer = new StreamWriter(stream))
{
答案 1 :(得分:0)
using语句有助于处理流。它位于代码块的末尾。
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-statement