/// <include file='RegistryConfigSource.xml' path='//Method[@name="AddMappingRecurse"]/docs/*' /> public void AddMapping(RegistryKey registryKey, string path, RegistryRecurse recurse) { RegistryKey key = registryKey.OpenSubKey (path, true); if (key == null) { throw new ArgumentException ("The specified key does not exist"); } if (recurse == RegistryRecurse.Namespacing) { LoadKeyValues (key, path); } else { LoadKeyValues (key, ShortKeyName (key)); } string[] subKeys = key.GetSubKeyNames (); for (int i = 0; i < subKeys.Length; i++) { switch (recurse) { case RegistryRecurse.None: // no recursion break; case RegistryRecurse.Namespacing: AddMapping (registryKey, path + "\\" + subKeys[i], recurse); break; case RegistryRecurse.Flattened: AddMapping (key, subKeys[i], recurse); break; } } }
/// <include file='RegistryConfigSource.xml' path='//Method[@name="AddMappingRecurse"]/docs/*' /> public void AddMapping(RegistryKey registryKey, string path, RegistryRecurse recurse) { RegistryKey key = registryKey.OpenSubKey(path, true); if (key == null) { throw new ArgumentException("The specified key does not exist"); } if (recurse == RegistryRecurse.Namespacing) { Console.WriteLine(key.Name + " " + path); LoadKeyValues(key, path); } else { LoadKeyValues(key, ShortKeyName(key)); } string[] subKeys = key.GetSubKeyNames(); for (int i = 0; i < subKeys.Length; i++) { switch (recurse) { case RegistryRecurse.None: // no recursion break; case RegistryRecurse.Namespacing: AddMapping(registryKey, path + "\\" + subKeys[i], recurse); break; case RegistryRecurse.Flattened: AddMapping(key, subKeys[i], recurse); break; } } }