Излишне ли оборачивать диалоги при использовании блоков? - PullRequest
5 голосов
/ 19 февраля 2012

В следующем коде избыточны ли используемые блоки или они необходимы для полного освобождения ресурсов?

using (var dialog = new AboutBox())
    dialog.ShowDialog();

using (var form = new OptionForm())
    form.Show();

1 Ответ

6 голосов
/ 19 февраля 2012

Первый пример не является избыточным.Вы всегда должны распоряжаться IDisposable в тот момент, когда с ним покончено, и в случае модальной формы это точно достигает цели.

Второй пример, однако, приведет к ошибкам.Метод Show немедленно возвращается, и форма продолжает отображаться.Однако сгенерированный using код немедленно Dispose заполняет форму и заставляет ее исчезнуть.Форма должна быть удалена только после того, как она будет показана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...