у меня немодальная форма. Когда пользователь покончил с этим, и они Close
его, форма (и связанные с ней ресурсы) больше не нужны.
Правильное программирование требует, чтобы я избавился от всего, что реализует IDisposable
(т.е. я не могу дождаться запуска сборки мусора). Это включает и меня, WinForms Form
.
Какое самое лучшее или действительное время для формы, чтобы вызвать Dispose
для себя?
На «других» языках вы можете уничтожить форму изнутри формы
сам по телефону Release
:
void CloseButton(EventArgs e)
{
this.Release();
}
Этот метод вызывает уничтожение формы после каждого экземпляра
метод вернулся (и форма обработала все ожидающие сообщения).
На этом "другом" языке было бы ужасно неправильно звонить:
void CloseButton(EventArgs e)
{
this.Free();
}
Потому что тогда я освобождаю объект, на котором запускаю метод, из-под себя;
который вызывает нарушение доступа на мгновение.
i предположим, опасно некорректно звонить:
void CloseButton(EventArgs e)
{
this.Dispose();
}
Но, может быть, безопасно позвонить:
void FormClosed(EventArgs e)
{
this.Dispose();
}
Каковы рекомендации по очистке немодальной формы, когда она больше не нужна?