usingステートメントで実装IDisposable
するものはすべてラップすることをお勧めします。
using (var a = new HttpWebResponse(...))
{
}
書くのと同じです
var a = new HttpWebResponse(...);
try
{
// use a
}
finally
{
if (a != null)
a.Dispose();
}
オブジェクトが null であるかどうかさえ気にする必要がありますか? どうせ処分するしかないでしょ
Dispose
いいえ、オブジェクトを呼び出そうとするとnull
、アプリケーションはNullReferenceException
. ステートメントが有効なオプションではないと感じる状況を考えると、using
これを整理するもう1つのきちんとした方法は、拡張メソッドを作成することです。
public static class Ext
{
public static void SafeDispose(this object obj)
{
if (obj != null)
obj.Dispose();
}
}
...
var a = new ...;
a.SafeDispose();
これにより、null オブジェクトでメソッドを呼び出すことができます。