В следующем фрагменте ReSharper (я нахожусь на 2017.3.5) будет жаловаться, что нулевая проверка "всегда ложна" и что оператор выброса исключения "эвристически недоступен".
public void Foo([NotNull] string bar)
{
if (bar == null) throw new ArgumentNullException();
// do something
}
Я бы сказал, что проверка нуля необходима, так как ReSharper - это всего лишь инструмент аннотации, а не компилятор.Ничто не блокирует кого-либо во время выполнения или даже во время компиляции от передачи нулевого значения.
Есть ли способ отключить это, это ошибка, или я что-то здесь упускаю?