gpt4 book ai didi

c# - 防止未分配的对象,这是一个糟糕的设计考虑的任何原因?

转载 作者:行者123 更新时间:2023-11-30 19:57:24 24 4
gpt4 key购买 nike

在我的 WPF 应用程序中,我有几个地方基于记录的给定 ID,我调用一个新表单以模式显示以查看详细信息。然后它关闭并按预期返回调用源。这一切都没有问题。

为了简化编码,我在要显示的窗体的构造函数末尾调用了“ShowDialog()”。这防止了调用此表单的每个地方都需要类似..

var myModalForm = new MyModalForm(someIdToDisplay);
myModalForm.ShowDialog();

简化一下,我只需要创建带有Id的模态表单,比如

new MyModalForm(someIdToDisplay);

但是通过 ReSharper 检查器,它返回“可能未分配的对象由‘new’表达式创建”。

我知道垃圾收集器会在它完成后得到它,但作为一种模态形式,一旦完成,我不需要对它做任何其他事情。那么,这是不好的,还是可以的,只是忽略这种类型的警告考虑。否则,应用程序中的其他一切都可以正常工作。

最佳答案

To keep this simplified in coding, I put a "ShowDialog()" call at the end of the constructor of the form being displayed.

就我个人而言,这听起来像是一个丑陋的设计。构造函数旨在返回一个可用的对象 - 理想情况下,这就是它们应该做的所有

我会将其更改为 MyModalForm 中的静态方法:

public static void ShowForId(int id)
{
var form = new MyModalForm(id);
form.ShowDialog();
}

那么你的调用代码可以是:

MyModalForm.ShowForId(someIdToDisplay);

现在很清楚它要做什么:目的是显示一个表单,而不仅仅是创建它。

关于c# - 防止未分配的对象,这是一个糟糕的设计考虑的任何原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30124570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com