在我的WPF应用程序中,我有一些基于记录的给定ID的地方,我调用一个新表单作为模态显示以查看详细信息。然后它会关闭并返回到预期的调用源。这一切都没有问题。
为了简化编码,我在显示的表单的构造函数的末尾添加了一个“ShowDialog()”调用。这可以防止每个地方需要调用此表单需要类似的东西。
var myModalForm = new MyModalForm(someIdToDisplay);
myModalForm.ShowDialog();
简化,我只需要创建带有Id的模态表单,例如
new MyModalForm(someIdToDisplay);
但是通过ReSharper检查器,它返回“由'new'表达式创建的可能未分配的对象”。
我知道垃圾收集器会在它完成后得到它,但作为一个模态形式,一旦完成,我不需要用它做任何其他事情。所以,这是不好的,还是好的,只是忽略这种警告的考虑。否则其他所有内容都可以正常使用。
答案 0 :(得分:7)
为了简化编码,我在显示的表单的构造函数的末尾添加了一个“ShowDialog()”调用。
对我个人来说,这听起来像个丑陋的设计。构造函数旨在返回一个可用的对象 - 理想情况下,它们应该所有。
我会将其更改为MyModalForm
中的静态方法:
public static void ShowForId(int id)
{
var form = new MyModalForm(id);
form.ShowDialog();
}
然后您的调用代码可以是:
MyModalForm.ShowForId(someIdToDisplay);
现在很清楚它正在尝试做什么:目的是展示一个表单,而不仅仅是创建它。