C#学习3——委托和事件
来源:互联网 发布:python mqtt 编辑:程序博客网 时间:2024/05/22 13:12
最近两天学习了第7章——委托与事件,因为这个知识点我以前也看到,似懂非懂的。所以这一章我花
两天的事件来读。
委托:
C#中的委托是类型安全的函数指针,是一种特殊的对象类型,其特殊之处在于它不包含任何数据,只
包含的是方法的地址。
可以在定义类的地方定义delegate。
delegate必须与它所代表的方法有相同的签名。
可以使用delegate推断来初始化委托,也可以使用匿名方法来定义委托,可以做的好处可以降低代码
的复杂性,但是执行会不太快。匿名方法不能有跳转到外部的语句,外部语句也不能跳转到匿名方法内
。
事件:
在C#中事件是一个已定义的对象,该对象处理通知过程。
事件接收器是指发生某些事情时被通知的任何应用程序、对象和组件。
事件发生器的作用时引发事件。
事件接收器中有一个方法,它负责处理事件。
委托在事件中作为发生器和接收器的中介。
怎么使用事件呢?可以按照创建、引发、接收和处理的步骤来完成。
1.应该有婚介所,即delegate
public delegate void ActionEventHandler(object sender,EventArgs e);
2.富翁委托婚介所征婚,这个过程包含定义了一个事件,以及确定了事件的接收器和事件处理的方法
。
public static event ActionEventHandler Action;
事件的接收器就是该富翁,他对婚介所提供一些自己的信息和对配偶的要求,如果应征者的条件符合
他的要求,就委托中介联系他。
private void _Action(object sender,EventArgs e)
{
if(true)
{
//通知富翁有合适的人选,并把女子的信息(包含在EventArgs中)告诉富翁。
}
else
{
//告诉女子她不合适,但是富翁并不知道有这么个女孩去应征过
}
}
3.富翁提出要求后就会,婚介所就会发布信息。即通过委托注册这个事件。
_.Action += new _.ActionEventHandler(object sender,EventArgs e);(实例化委托)
以上过程都可以说是创建事件。
4.女子联婚介所应征。此过程是引发事件。
女子把自己的信息,比如年龄、长相、学历(即实例化EventArgs)等告诉婚介所。
EventArgs e = new EventArgs();
然后发送事件OnAction(this,e);
5.婚介所接收到女子的信息,此过程是接收,是通过委托接收的。婚介所将this,e传送给事件处理程序(委托匹配的方法)。
6.处理程序根据女子的信息(e)进行选择,并将处理结果通知给女子(this)。
- C#学习3——委托和事件
- C#中的委托和事件——学习笔记
- C#学习笔记8——C# 中的委托和事件
- C#中的委托和事件(转载学习)
- 轻松学习C#委托和事件
- C#学习笔记19-委托和事件
- c# 委托和委托事件
- C# 委托,事件(二)——委托
- C# 委托和事件
- c# 委托 和 事件
- c#委托和事件
- C#委托和事件
- C#委托和事件
- C#委托和事件
- C# 委托和事件
- C#事件和委托
- C# 委托和事件
- C# 委托和事件
- Dreamweaver设计视图中输入多个空格的方法
- sybase :数据库不能打开的解决办法(状态装载或可疑)
- IT职场:外企面试官最爱提的问题TOP10
- 用手机看在线视频
- 字体样式
- C#学习3——委托和事件
- 快速精通掌握FRAME的使用
- 庖丁解牛系列(一)
- 初涉项目管理
- OpenCV学习笔记(一)
- 防止hosts文件被修改
- 网络杂谈
- 一直以来伴随我的一些学习习惯
- [技巧]QQ密技(一)