事件是使对象能够触发通知的成员。事件用户可以通过提供事件处理程序为事件附加可执行代码。event 关键字声明一个事件。事件是委托类型。当对象触发事件时,该事件调用所有提供的事件处理程序。事件处理程序是添加到事件并在引发事件时执行的委托实例。事件用户可以在事件上添加或删除其事件处理程序。

下面的示例显示如何声明和引发使用 EventHandler 作为底层委托类型的事件。

public class SampleEventArgs
    public SampleEventArgs ( string 文本 ) { 文本 = zfc文本; }
    public string Text { get; } // 只读
public class Publisher
    // 声明委托(如果使用非通用模式)
    public delegate void SampleEventHandler ( object sender , SampleEventArgs e );
    // 声明事件
    public event SampleEventHandler SampleEvent;
    // 将事件包装在受保护的虚拟方法中,以使派生类能够引发事件