我正在创建一个类来处理我的应用程序的注册表项,但我很早就遇到了一些问题。
在下面,它应该获取 SubKey 的所有键/值并将它们添加到Dictonary
. 被注释掉的消息框正确显示了键和值,但是每次运行该函数时,下面的行都会生成一个错误A first chance exception of type 'System.NullReferenceException'
。
由于注册表项本身似乎很好,我认为这与我使用RegKeys Dictonary
. 如果有人可以看看并提出建议,我将不胜感激。谢谢。
这就是我开始课程的方式(我什至还没有尝试做任何其他事情) -
Private Sub getMyRegSettings()
Dim ServerPing As RegistryKey = Registry.CurrentUser.OpenSubKey("ServerPing")
Dim Servers As RegistryKey = ServerPing.OpenSubKey("Servers")
Dim MyRegistry As New MyRegistry(Servers)
Dim RegKeys As Dictionary(Of String, String) = MyRegistry.RegKeys
End Sub
这是给我带来麻烦的课程-
Public Class MyRegistry
Public RegKeys As Dictionary(Of String, String)
Public Sub New(SubKey As RegistryKey)
get_registry_keys(SubKey)
End Sub
Private Sub get_registry_keys(SubKey As RegistryKey)
' Print the information from the Test9999 subkey.
For Each valueName As String In SubKey.GetValueNames() ' Error occurs here
'MsgBox("Key: " & valueName & vbCrLf & "Value: " & SubKey.GetValue(valueName))
RegKeys(valueName) = SubKey.GetValue(valueName).ToString()
Next valueName
End Sub
End Class