Welcome

首页 / 软件开发 / C# / C#的事件(event)

C#的事件(event)2007-09-25 本站 形象的说,事件(event)就是类或对象用来“发出通知”的成员。通过提供事件的句柄,客户能够把事件和可执行代码联系在一起。

让我们一起先来看一个事件的例子。如果你熟悉MFC的话,理解这个例子应该不会很难。

程序清单13-1:

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); } public void Reset(){Click=null; }}
在这个例子中,Click中类Button的一个域,我们可以获得它的值并进行修改。OnClick方法用于触发Click事件。

13.1.1

13.1.2

13.1.3

13.1.4 静态事件

和域、方法等一样,在声明中使用了修饰符的事件称之为静态事件。静态事件不与具体的实例相关联,因此不能在静态事件的访问器中引用this关键字。此外,在静态事件声明时又加上virtual,abstract或override修饰符也都是不合法的。而对于非静态的事件,我们可以在事件的访问器中使用this来指代类的实例。