次のコードスニペットがあるとします。
try
{
var myTxt = "";
var serializer = new DataContractSerializer(myObject.GetType());
var memoryStream = new MemoryStream()
serializer.WriteObject(memoryStream, myObject);
memoryStream.Position = 0;
using (var reader = new StreamReader(memoryStream))
{
myTxt = reader.ReadToEnd();
}
.
.
.
}
catch (IOException ioEx)
{
//log or whatever...
throw;
}
通常、メモリストリームの周りにusingステートメントがありますが、私の理解では、StreamReaderを破棄するとメモリストリームが閉じます。
だから問題は、上記に本当に間違っているものはありますか?