c#事件初探

简介:

事件是委托的一种特殊形式,当发生有意义的事情时,事件处理对象通知过程。
我们接着上一篇的假想场景,并且假设主办方将参会者分两组进行发言,按照事件的方式进行处理。好了,code is cheap,上代码了:
类图:

代码部分:

ContractedBlock.gif Code

从上面的代码中,我们可以看清楚事件的工作流程:发送器定义委托,声明事件;接收器注册事件处理程序(speak)到事件中去;发送器状态改变发出“通知”时,事件触发,注册事件的各个接收器及时“获取”消息,处理相应程序,如发言(speak)。如果我们在Java类的构造函数中注释掉”sponsor.programLs += this.Speak;“这一行,那么这个接收器(java)也就不会收到通知,并发言(speak)了。
我们经常在c#程序中看到如:
    protected void Page_Load(object sender, EventArgs e)
    {
    }
这样的事件形式。最后,我们来改造之前的代码,也模仿一下ms的优雅的写法:

ContractedBlock.gif Code

关于事件和委托,本篇和上一篇不过是按照自己的思路入门介绍一下,高手不值一哂。读者可以参考网上无数高明的文章。







本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2009/03/22/1418956.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
C#
c# Gridview 点击checkbox 触发的事件
c# Gridview 点击checkbox 触发的事件
|
消息中间件 安全 API
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
SendMessage/PostMessage API 可以实现发送系统消息,这些消息可以定义为常见的鼠标或键盘事件、数据的发送等各种系统操作......
3905 1
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
|
1月前
|
C#
C# Dev解决gridview1_SelectionChanged和gridview1_RowCellClick事件触发两次等问题
C# Dev解决gridview1_SelectionChanged和gridview1_RowCellClick事件触发两次等问题
C# Dev解决gridview1_SelectionChanged和gridview1_RowCellClick事件触发两次等问题
|
1月前
|
C#
C# 禁止ComboBox滚动事件细谈
C# 禁止ComboBox滚动事件细谈
|
5月前
|
Java C# C++
【从Java转C#】第八章:委托、lambda、事件
【从Java转C#】第八章:委托、lambda、事件
|
8月前
|
C# Windows
C#OOP之十一 委托和事件
C#OOP之十一 委托和事件
39 0
|
9月前
|
安全 C#
C#委托事件的区别
C#委托事件的区别
|
9月前
|
监控 安全 开发工具
Baumer工业相机堡盟工业相机如何通过BGAPI SDK使用DeviceEvents“设备事件”记录相机事件的各类时间(C#)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK使用DeviceEvents“设备事件”记录相机事件的各类时间(C#)
66 0
|
10月前
|
移动开发 JSON API
C#-钉钉开发H5应用-事件订阅
C#-钉钉开发H5应用-事件订阅
221 0
|
10月前
|
JSON API 数据安全/隐私保护
C#-钉钉事件订阅-接口回调
C#-钉钉事件订阅-接口回调
233 0