我可以在事件处理程序声明中有一个 void 吗?

Can I have a have a void inside an event handler declaration?

我的 C# Winform 上有一个按钮,代码如下:

button1.Click += button1_Click;

还有:

private static void button1_Click(object sender, EventArgs e)
{
    // do something
}

我正在尝试简化和减少应用程序中的代码量。有什么办法吗? 这是我想要实现的目标:

button1.Click +=  void button1_Click(object sender, EventArgs e)
{
    // do something
};

这不起作用。还有其他方法可以实现吗?

您可以使用匿名方法执行此操作:

button1.Click += (sender, e) =>
{
   // do something
};

但请注意,您永远无法注销此事件处理程序,因为它是一个匿名方法。