Duk*_*ade 4 c# dispose static-analysis registrykey
我有以下代码:
RegistryKey installKey = Registry.LocalMachine.OpenSubKey(installKey);
Run Code Online (Sandbox Code Playgroud)
我在我的代码上运行一个静态分析工具,它给了我一个缺陷,说我从没有处理installKey的方法返回.我知道您可以在.NET 4.0或更高版本的RegistryKey上调用Dispose(),但我的代码在.NET 3.5上运行.
有没有人知道处理这个RegistryKey并让我的静态分析工具满意的最佳方法?
您应该将代码包装在一个using块中,这将隐式地Dispose为您调用.目前还不清楚你正在使用什么静态分析工具,但希望它能理解using:
using (RegistryKey installKey = Registry.LocalMachine.OpenSubKey(installKey))
{
// Your code here
}
Run Code Online (Sandbox Code Playgroud)
请注意,您也可以Dispose显式调用,但需要先强制转换RegistryKey为IDisposable:
((IDisposable)installKey).Dispose()
Run Code Online (Sandbox Code Playgroud)