C # SonarQube, жалующийся на нулевые указатели, не должен быть разыменован - PullRequest
0 голосов
/ 25 апреля 2018

Я сталкиваюсь с проблемой в SonarQube, когда я пытаюсь получить доступ к значению непосредственно из свойства модели, это показывает ошибку в сонарном Qube.пожалуйста, предложите.

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Вы проверяете, является ли vehicleDetail null в строке 5 в вашем методе, что означает, что в некоторых случаях оно может быть нулевым. SonarQube предупреждает вас, что в этих случаях вы получите NullReferenceException при добавлении AgentCode к параметрам команды.

Если предполагается, что vehicleDetail действительно равно null, проблема SonarQube фактически указывает на ошибку в вашем коде, и вы должны заключить в себе доступ всех членов к vehicleDetail в if (vehicleDetail != null).

Если vehicleDetail не предполагается равным нулю, следует удалить проверку нуля из оператора if в начале метода и добавить проверку обычного аргумента, которая выдает ArgumentNullException.

0 голосов
/ 25 апреля 2018

В вашем коде нет гарантии, что параметр не равен null.Если это так, ваша программа просто падает.

Как вы справляетесь с этим, зависит от вас.Проверьте параметр и бросьте ArgumentNullException, если он нулевой?Принимать значение по умолчанию, если оно пустое?Не использовать какие-либо из его свойств, если он нулевой?Вам решать.

В сообщении говорится, что вы должны решить, что делать в этом случае, а не просто махнуть рукой и предположить, что этого никогда не произойдет.

...