アプリケーションのレジストリ エントリを処理するクラスを作成していますが、早い段階で問題が発生します。
以下では、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