我想说的是:当您实例化一个类时,您可以.
在对象之后使用访问运算符 ( ) 使用该类的方法,但是如果您只想使用该类的一种方法并且只使用一次呢?这个点击事件中的表达式(下面的代码)可以工作,但是这种方法被认为是一种好的/坏的编程习惯吗?
private void button1_Click(object sender, EventArgs e)
{
new AboutBox1().ShowDialog();
}
我想说的是:当您实例化一个类时,您可以.
在对象之后使用访问运算符 ( ) 使用该类的方法,但是如果您只想使用该类的一种方法并且只使用一次呢?这个点击事件中的表达式(下面的代码)可以工作,但是这种方法被认为是一种好的/坏的编程习惯吗?
private void button1_Click(object sender, EventArgs e)
{
new AboutBox1().ShowDialog();
}
但是这种方法被认为是一种好/坏的编程实践吗?
如果您不打算在AboutBox1
稍后的代码中使用 form 的实例,这没什么不好。
以上也用于从静态方法调用非静态方法,例如:
class MyTest
{
public void InstanceMethod()
{
}
public static void StaticMethod()
{
new MyTest().InstanceMethod();
}
}
只要对象不需要处理,那样使用它就没有错。
一个显示创建仅在语句期间持续的对象的好处的示例是使用 aStringBuilder
创建字符串:
string tag =
new StringBuilder()
.Append("<div id=\"")
.Append(id)
.Append("\">")
.ToString();
当Append
方法返回StringBuilder
实例时,它们是可链接的,直到您调用ToString
并且最终只得到字符串并且StringBuilder
消失了。
您显示的代码没有问题,除非您正在创建需要在使用后处理的实例。
如果需要处理实例,请使用using
块:
using (var aboutBox = new AboutBox()) {
aboutBox.ShowDialog();
}
否则,在没有任何持久变量/引用的构造函数之后直接调用成员就可以了:
new AboutBox().ShowDialog();
实际上,这取决于您上课的背景或目的。
如果您不在任何地方使用它,则不需要参考