Я получаю ошибку NullReferenceException для некоторого простого кода для обработки события нажатия кнопки. У меня все еще есть немного кода для добавления в самом конце, чтобы фактически отобразить значение из «TcpAddr» в окне сообщений. Это позволит вам запустить программу, но нажатие кнопки заставляет ее выкидывать ошибку.C# NullReferenceException при чтении раздела реестра
Также: лучше ли переместить фактический запрос из события click и просто сделать обработчик события MessageBox.Show()?
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LiteSwitch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
RegistryKey RegKey = Registry.LocalMachine;
RegKey = RegKey.OpenSubKey("SOFTWARE\\Altiris\\Client Service");
object CurrDS = RegKey.GetValue("TcpAddr"); //This line causes the NRE Error
MessageBox.Show("Current DS:");
}
}
}
Я настоятельно рекомендовал бы, чтобы ваши переменные начинались с нижнего регистра. (Например, 'regKey' вместо' RegKey'). –