【发布时间】:2021-01-26 09:32:02
【问题描述】:
像这样创建 C# 事件处理程序有什么区别:
btnHey.Click += new EventHandler(delegate (object obj, EventArgs evn) { System.Diagnostics.Debug.Write("Hey"); });
还有这个:
btnHey.Click += (object obj, EventArgs evn) => System.Diagnostics.Debug.Write("Hey");
【问题讨论】:
-
这能回答你的问题吗? Using lambda expressions for event handlers
-
@HirasawaYui 您提到的问题是关于 lambdas 是否可以用于事件处理程序(嗯,我知道他们可以)。我很想知道使用 lambda 和为事件创建新委托之间是否有任何区别。所以 Jon Skeet 给出了一个非常好的总结和明确的答案