C# - 方法没有重载(接受0个参数)

时间:2013-10-19 14:18:30

标签: c# methods arguments overloading

我在项目中有一小段代码:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    button2_Click();
}

private void button2_Click(object sender, EventArgs e)
{
    x = 0;
}

现在,我想调用button2_Click方法,但我不能,因为我必须传递参数。

问题是,我不知道在调用方法时要传递什么参数。

我应该通过什么?

2 个答案:

答案 0 :(得分:1)

像这样使用

private void textBox1_TextChanged(object sender, EventArgs e)
{
    button2_Click(this.button2,EventArgs.Empty);
}

private void button2_Click(object sender, EventArgs e)
{
    x = 0;
}   

将其视为普通参数。但不是这样的推荐。最好的做法是提取button2_Click的主体并调用Extract方法。按钮2_Click应该总是被用户界面触发。例如:

private void textBox1_TextChanged(object sender, EventArgs e)
{
   method();
}

private void button2_Click(object sender, EventArgs e)
{
    method();
}   
public void method(){
  //x=0 or other
  ....
}

答案 1 :(得分:-1)

没关系,我刚才用过:

button2_Click(sender, e)

并且有效。