Я пишу приложение на C # .NET. У меня есть форма. Когда форма создана, я создаю экземпляр класса. Когда я закрываю форму, я хочу избавиться от класса, чтобы в следующий раз, когда я открою форму, я мог просто создать новый новый экземпляр класса. Итак, в событие form_Closing я добавил код, подобный следующему: classInstance = null;
Проблема, по какой-то причине, в следующий раз, когда я открываю форму, класс не равен нулю, а находится в том же состоянии, в котором он находился до этого. Я закрыл форму. Почему это происходит?
РЕДАКТИРОВАТЬ: Добавление информации:
myHandler - это поле в классе Form.
это выглядит так:
private HSFW_Handler myHandler;
Класс, на который я ссылаюсь, является одиночным, поэтому я создаю его так:
public static HSFW_Handler GetInstance()
{
if (myHSFW == null)
{
myHSFW = new HSFW_Handler();
return myHSFW;
}
else return myHSFW;
}
Я создаю его начальный экземпляр в событии Form_Shown
private void SetupDialogForm_Shown(object sender, EventArgs e)
{
try
{
myHandler = HSFW_Handler.GetInstance();
UpdateDisplay();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Закрытие формы выглядит следующим образом ...
private void SetupDialogForm_FormClosing(object sender, FormClosingEventArgs e)
{
myHandler = null;
}