【问题标题】:Can I have a have a void inside an event handler declaration?我可以在事件处理程序声明中有一个 void 吗?
【发布时间】:2022-01-09 11:17:49
【问题描述】:

我的 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
};

这不起作用。有没有其他方法可以做到这一点?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您可以使用匿名方法来做到这一点:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2011-03-18
      相关资源
      最近更新 更多