有没有办法检测此代码段?
DateTime dt = DateTime.Now;
if (dt == null) {
MessageBox.Show("Imposible with datetime!!!");
}
在我们的项目中,我们检测到在Release编译中,整个if被删除,因为DateTime和null之间的比较将始终为false。我假设优化器将其翻译为:
if (false) {
...
}
有没有办法让分析仪以任何方式检测此代码?即使我们必须创建FXCop规则,编译时的错误也会很好,但我们不知道如何跟踪这种情况。
DateTime dt = null; // This code raises a compile time error, but the comparison with null is fine?
答案 0 :(得分:0)
类似于IDE静脉,ReSharper支持捕获此类问题。它是Visual Studio的插件,多年来我们发现它非常有用。在重构功能方面,它仍领先于微软。