public delegate void EventHandler(object sender, EventArgs e);
public class Button: Control
{
public event EventHandler Click;
protected void OnClick(EventArgs e) {
if (Click != null) Click(this, e);
}
}
本书通过以下方式解释了上面的代码:
Button 类中的 OnClick 方法“引发”Click 事件。引发事件的概念完全等同于调用由事件表示的委托——因此,引发事件没有特殊的语言结构。请注意,委托调用之前有一个检查,以确保委托为非空。
当每个事件处理程序都有一个委托实例时,为什么它暗示事件中只有一个委托?一个实例是一个实例,一个事件可以包含许多连接到实际方法的委托实例。
如果有人能为我理解这一段,我将不胜感激。