为什么下面的代码不能用于(null,null)?

Lyr*_*yrk 1 c#

我知道Click事件接受一个委托,它获取两个参数类型作为Object和EventArgs,下面的代码适用于任何给定的参数,但为什么下面的代码不能使用(null,null)?它只打印出一个字符串.我给null Object和null 应该没关系EventArgs.(它适用于(foo,bar)或(m,n)例如)

注意:CS1026,CS1002,CS1513错误以逗号引发.

using System.Windows.Forms;

namespace Hello_World
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.messageButton.Click += (null, null) => MessageBox.Show("Hello");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

Pat*_*man 7

(null, null) =>是一个lambda表达式.您现在使用保留关键字null作为方法参数的名称.这是不允许的.

您应该为参数指定实名,或者使用_以下方法丢弃它们:

this.messageButton.Click += (_, __) => MessageBox.Show("Hello");
Run Code Online (Sandbox Code Playgroud)