私はこのように見えるいくつかのコードを持っています:
Object o;
using (SqlConnection sql = GetSqlConnection) {
using (SqlCommand sqlCommand = GetSqlCommand()) {
using (Datareader dr = GetDataReader()) {
o = new Object();
while (dr.read()) {
//do something
}
}
if (o == null) // RESHARPER SAYS THAT THIS WILL ALWAYS BE TRUE
//do something
}
}
私がチェックする場所o == null
、ReSharperは、このコマンドは常に真であると言っています。私はこの振る舞いを理解していません。using
ブロックで初期化されたすべてのオブジェクトを破棄するか、using
ステートメントで作成されたオブジェクトのみを破棄します。