C# SonarQube 抱怨空指针不应该被取消引用

C# SonarQube complaining to Null pointers should not be dereferenced

我在 SonarQube 中遇到问题,当我尝试直接从模型 属性 访问值时,它在 Sonar Qube 中显示错误。请提出建议。

您的代码无法保证参数不是 null。如果是,您的程序就会崩溃。

如何处理这取决于您。检查参数并抛出 ArgumentNullException 如果它为空?如果它为空,则假定一个默认值?如果它为空,则不使用它的任何属性?由你决定。

该消息告诉您,您必须决定在这种情况下该怎么做,而不是随便挥手并假设它永远不会发生。

您在方法的第 5 行检查 vehicleDetail 是否为 null,这意味着它在某些情况下可能为空。 SonarQube 警告您,在这些情况下,当您将 AgentCode 添加到命令参数时,您将得到 NullReferenceException

如果 vehicleDetail 确实是 null,SonarQube 问题实际上指向代码中的错误,您应该将 vehicleDetail 的所有成员访问权限包装在 if (vehicleDetail != null).

如果 vehicleDetail 不应为 null,则应从方法开头的 if 语句中删除 null 检查并添加抛出 [=20= 的正常参数检查].