问题描述
我偶然发现了 ReSharper(在 Rider 中)的一个特定的“总是错误的”警告,我最初认为这是不正确的,但是从我通常从其他人那里收集到的信息来看,如果发生这种情况,ReSharper 比程序员更聪明,所以我正在尝试了解和学习,也许有人可以帮助我。
我在一个孤立的空类中重现了这种情况:
private void Method(object obj)
{
if (obj == null)
return;
var action = new Action(() =>
{
if (obj == null) // this condition is marked as always false
return;
// do stuff
});
// save reference to action somewhere
}
我在这里的思考过程是,我不知道 action
何时可能被调用,虽然 obj
在创建 action
时不能为 null,但它很可能是调用。 ReSharper 似乎有不同的想法。
语言版本为 C# 9.0,可空引用类型禁用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)