我有这行代码:
this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString();
当我在我的代码上运行静态分析工具(Coverity)时,我在这里得到一个FORWARD_NULL,说我在这里取消引用null。我无法理解这意味着什么以及如何修复它?
this.Path是一个字符串,pathLookUpLocation是一个RegistryKey,RegLookupKey是一个字符串。
答案 0 :(得分:5)
我认为pathLookUpLocation
的类型为RegistryKey
。
此消息的原因是,如果找不到NullReferenceException
指定的密钥的值,则代码将抛出RegLookupKey
。发生这种情况,因为您将null
作为第二个参数传递给GetValue
。第二个参数是无法找到密钥时返回的默认值。
通过将其更改为string.Empty
来修复它:
this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString();