我有这行代码:
this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString();
当我在代码上运行静态分析工具(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();