Я могу получить доступ к объекту ключа базы реестра даже после того, как удалил этот объект. Ожидается ли это?C#

Место общения программистов C#
Ответить
Anonymous
 Я могу получить доступ к объекту ключа базы реестра даже после того, как удалил этот объект. Ожидается ли это?

Сообщение Anonymous »

Я пытаюсь получить некоторые значения из раздела реестра. Получив значение, я заметил, что подраздел удаляется после вызова key.Close(). Но базовый ключ все еще был доступен после вызова метода Close() для этого объекта, и я смог открыть новые дополнительные ключи с помощью этого закрытого базового ключа. По документам звонящие близкие должны уничтожить объект. Это ожидаемое поведение?
Ниже приведен код, который я пробовал.

Код: Выделить всё

 var baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default);
var key =  baseKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", true);
baseKey.Close();
var testValue = key.GetValue("TestNameInWinlogon");
key.Close();
key = baseKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows", true);
testValue = key.GetValue("TestNameInWindows");
key.Close();
Я пробовал это с C# и .NET Framework 4.8

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-object-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»