これは100%正しい方法です。クラスがIDisposable
を利用する場合 using
でラップする必要があります Dispose()
を確認するステートメント メソッドが呼び出されます。さらに、SQLServerのような外部のテクノロジとの通信(その時点では管理されていない)を軽視すべきではありません。 SqlCommand
オブジェクトはIDisposable
を実装します 非常に正当な理由があります。以下のコードはDispose()
です。 SqlCommand
のメソッド オブジェクト:
protected override void Dispose(bool disposing)
{
if (disposing)
{
this._cachedMetaData = null;
}
base.Dispose(disposing);
}
ご覧のとおり、_cachedMetaData
への参照がリリースされています。 オブジェクトもクリーンアップできるようにします。