【发布时间】:2016-08-15 07:23:24
【问题描述】:
我想要一个干净/紧凑的模式,它是异常安全的,并且会正确处理rulesKey,即使有东西被抛出。 using 似乎不可能做到这一点(除非可能有 4 个 usings,但这似乎太冗长并且打开了我什至可能不需要打开的额外资源)。让我明白的是,这在 C++ 中是如此直接/容易。有好的解决办法吗?
{
RegistryKey rulesKey = null;
rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Company\\Internal\\Product");
rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Company\\Company\\Internal\\Product");
rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Wow6432Node\\Company\\Product");
rulesKey = rulesKey ?? Registry.LocalMachine.OpenSubKey("Software\\Company\\Product");
// Code using rulesKey, might throw
rulesKey.Close();
}
【问题讨论】:
标签: c# registry using null-coalescing-operator