C# - 方法无重载(带 0 个参数)

本文关键字:参数 方法 重载 | 更新日期: 2023-09-27 18:36:13

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

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

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

问题是,我不知道调用该方法时要传递哪些参数。

我应该通过什么?

C# - 方法无重载(带 0 个参数)

这样用

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 方法。button2_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
  ....
}

关系,我只是使用了:

button2_Click(sender, e)

它奏效了。