我有一些看起来像这样的代码:
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
语句创建的对象。