Re: [Rider] Null analysis
От: andrey.dyatlov  
Дата: 25.09.20 13:42
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Ложное срабатывание:

НС>http://prntscr.com/ul3on7
НС>Компайлер шарпа на такое не ругается

Дефолтное значение будет использоваться только если никакого аргумента не передали, поэтому оно не влияет на анализ ни в Rider ни в компиляторе. Значение имеет только тип параметра, который в вашем примере допускает передачу `null`. Т.е., например, следующий код будет создавать компиляторный ворнинг потому что `NullReferenceException` в нем действительно случится:
    #nullable enable
    public static void Main() => M(null);
    static void M(string? s = "notnull") => s.ToString(); // warning here


Можно проверить здесь

Судя по скриншоту для метода `ConfigureSelectionAndValidate` не включены наллабл референс типы и компилятор не ругается именно поэтому.
В этом случае Rider может полагаться либо на JetBrains.Annotations атрибуты для этого метода либо на выбранный режим анализа.

Вы не могли бы показать сигнатуру метода `ConfigureSelectionAndValidate`, есть ли в нем какие-либо атрибуты? И какой выбран режим анализа (Optimistic или Pessimistic) на странице Editor — Inspection Settings?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.