<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />

Microsoft.Win32.RegistryKey

public sealed class RegistryKey : IDisposable
namespace Microsoft.Win32 { public sealed class RegistryKey : IDisposable { public int SubKeyCount { get; } public RegistryView View { get; } public SafeRegistryHandle Handle { get; } public int ValueCount { get; } public string Name { get; } public void Flush(); public void Dispose(); public RegistryKey CreateSubKey(string subkey); public RegistryKey CreateSubKey(string subkey, bool writable); public RegistryKey CreateSubKey(string subkey, bool writable, RegistryOptions options); public void DeleteSubKey(string subkey); public void DeleteSubKey(string subkey, bool throwOnMissingSubKey); public void DeleteSubKeyTree(string subkey); public void DeleteSubKeyTree(string subkey, bool throwOnMissingSubKey); public void DeleteValue(string name); public void DeleteValue(string name, bool throwOnMissingValue); public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view); public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName, RegistryView view); public RegistryKey OpenSubKey(string name, bool writable); public RegistryKey OpenSubKey(string name, RegistryRights rights); public RegistryKey OpenSubKey(string name); public static RegistryKey FromHandle(SafeRegistryHandle handle); public static RegistryKey FromHandle(SafeRegistryHandle handle, RegistryView view); public string[] GetSubKeyNames(); public string[] GetValueNames(); public object GetValue(string name); public object GetValue(string name, object defaultValue); public object GetValue(string name, object defaultValue, RegistryValueOptions options); public RegistryValueKind GetValueKind(string name); public void SetValue(string name, object value); public void SetValue(string name, object value, RegistryValueKind valueKind); } }