1

我想说的是:当您实例化一个类时,您可以.在对象之后使用访问运算符 ( ) 使用该类的方法,但是如果您只想使用该类的一种方法并且只使用一次呢?这个点击事件中的表达式(下面的代码)可以工作,但是这种方法被认为是一种好的/坏的编程习惯吗?

    private void button1_Click(object sender, EventArgs e)
    {
        new AboutBox1().ShowDialog();
    }
4

4 回答 4

9

但是这种方法被认为是一种好/坏的编程实践吗?

如果您不打算在AboutBox1稍后的代码中使用 form 的实例,这没什么不好。

以上也用于从静态方法调用非静态方法,例如:

class MyTest
{
    public void InstanceMethod()
    {
    }

    public static void StaticMethod()
    {
        new MyTest().InstanceMethod();
    }
}
于 2013-05-06T11:33:49.547 回答
3

只要对象不需要处理,那样使用它就没有错。

一个显示创建仅在语句期间持续的对象的好处的示例是使用 aStringBuilder创建字符串:

string tag =
  new StringBuilder()
  .Append("<div id=\"")
  .Append(id)
  .Append("\">")
  .ToString();

Append方法返回StringBuilder实例时,它们是可链接的,直到您调用ToString并且最终只得到字符串并且StringBuilder消失了。

于 2013-05-06T11:41:44.637 回答
2

您显示的代码没有问题,除非您正在创建需要在使用后处理的实例。

如果需要处理实例,请使用using块:

using (var aboutBox = new AboutBox()) {
    aboutBox.ShowDialog();
}

否则,在没有任何持久变量/引用的构造函数之后直接调用成员就可以了:

new AboutBox().ShowDialog();
于 2013-05-06T11:35:06.333 回答
0

实际上,这取决于您上课的背景或目的。

如果您不在任何地方使用它,则不需要参考

于 2013-05-06T11:35:51.720 回答