在下面的代码片段中,ReSharper(我在2017.3.5上)会抱怨空检查是"总是假的"并且异常抛出语句是"启发式无法访问"。
public void Foo([NotNull] string bar)
{
if (bar == null) throw new ArgumentNullException();
// do something
}
我强烈建议空检查是必要的,因为ReSharper只是一个注释工具,而不是编译器。没有什么能阻止任何人在运行时甚至编译时传递空值。
有没有办法解决这个问题,这是一个错误,还是我在这里遗漏了什么?