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是一个字符串.
我想pathLookUpLocation是类型的RegistryKey。
出现此消息的原因是,NullReferenceException如果RegLookupKey找不到由键指定的值,则您的代码将引发。发生这种情况是因为您将null第二个参数传递给GetValue。第二个参数是找不到密钥时返回的默认值。
将其更改为string.Empty:
this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString();
Run Code Online (Sandbox Code Playgroud)