derefencing null后FORWARD_NULL?

Duk*_*ade 7 c# static-analysis registrykey

我有这行代码:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString();
Run Code Online (Sandbox Code Playgroud)

当我在我的代码上运行静态分析工具(Coverity)时,我在这里得到一个FORWARD_NULL,说我在这里取消引用null.我无法理解这意味着什么以及如何修复它?

this.Path是一个字符串,pathLookUpLocation是一个RegistryKey,RegLookupKey是一个字符串.

Dan*_*rth 5

我想pathLookUpLocation是类型的RegistryKey

出现此消息的原因是,NullReferenceException如果RegLookupKey找不到由键指定的值,则您的代码将引发。发生这种情况是因为您将null第二个参数传递给GetValue。第二个参数是找不到密钥时返回的默认值。

将其更改为string.Empty

this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString();
Run Code Online (Sandbox Code Playgroud)