事件是使对象能够触发通知的成员。事件用户可以通过提供事件处理程序为事件附加可执行代码。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;
// 将事件包装在受保护的虚拟方法中,以使派生类能够引发事件