Если у меня такая ситуация:
StreamWriter MySW = null;
try
{
Stream MyStream = new FileStream("asdf.txt");
MySW = new StreamWriter(MyStream);
MySW.Write("blah");
}
finally
{
if (MySW != null)
{
MySW.Flush();
MySW.Close();
MySW.Dispose();
}
}
Могу я просто позвонить MySW.Dispose()
и пропустить закрытие, даже если оно предусмотрено? Существуют ли какие-либо имплементации Stream, которые не работают должным образом (например, CryptoStream)?
Если нет, то это просто плохой код:
using (StreamWriter MySW = new StreamWriter(MyStream))
{
MySW.Write("Blah");
}
SqlConnection
показывает некоторые различия междуClose
иDispose
, которых уStream
нет. - person Frédéric   schedule 25.09.2015