使用块包装对话框是多余的?

时间:2012-02-19 16:11:50

标签: c# winforms

在下面的代码中,使用块是冗余还是完全释放资源所必需的?

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

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

1 个答案:

答案 0 :(得分:6)

第一个例子不是多余的。在你完成它的那一刻你应该总是处置IDisposable,在模态形式的情况下,这恰好完成了目标。

第二个例子虽然会导致错误。 Show方法立即返回,并继续显示表单。但是,生成的using代码会立即Dispose表单并导致其消失。表格只应在完成展示后进行处理。