次のような状況がある場合:
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();
}
}
Close が提供されていても、Closeを呼び出しMySW.Dispose()
てスキップすることはできますか? 期待どおりに動作しないストリームの実装はありますか (CryptoStream など)?
そうでない場合、次のコードは単に悪いコードです。
using (StreamWriter MySW = new StreamWriter(MyStream))
{
MySW.Write("Blah");
}