try/catch/finaly
内部にブロックがあるメソッドがあります。tryブロック内で、次のように宣言SqlDataReader
します。
SqlDataReader aReader = null;
aReader = aCommand.ExecuteReader();
finally
ブロック内で手動で破棄されるオブジェクトは、クラスレベルで設定されたオブジェクトです。IDisposable
それで、上記のように実装するメソッド内のオブジェクトは、SqlDataReader
自動的に破棄されますか?whileループが実行された後、リーダーのコンテンツを取得するためにClose()
呼び出されます(これは、呼び出しと同じである必要があります)。の呼び出しがない場合、メソッドが終了するか、オブジェクトがスコープ外になると、このオブジェクトは自動的に閉じられますか?aReader
Dispose()
Close()
Close()
編集:私はusing
声明を知っていますが、私を混乱させるシナリオがあります。