简单理解委托和事件
来源:互联网 发布:mac地址表老化时间 编辑:程序博客网 时间:2024/06/04 23:39
委托
什么是委托?
委托就是持有一个或者多个方法的对象!并且该对象可以执行,可以传递。
声明委托类型?
委托可以持有方法,那么持有什么样的方法呢?
可以声明,它是一种引用类型。
delegate void ActCute();
定义委托类型的对象?
既然是种类型,就可以定义该类型的对象。
ActCute actCute;
给委托对象赋值?
class Dog{ public void WagTail() { .... }}//使委托持有上面定义的方法actCute = dog.WagTail;
使用委托类型?
像调用函数一样使用委托类型。
actCute();
什么是匿名方法?
delegate void ActCute();ActCute del;del = delegate(){......};
什么是Lambda表达式?
del = delegate(){......};del = () => {......};
事件
发布者和订阅者
通知某件事情发生的,就是发布者。(我发布了微博)
对某件事情关注的,就是订阅者。(我关注了微博)
事件触发和注册
事件发生时,会通知所有关注该事件的订阅者。(发了一条新微博)
想在事件发生时被通知,必须注册以表示关注。(我关注了微博)
用程序语言解释
事件发生时,通知订阅者,就是调用订阅者的注册函数。注册,就是告诉发布者调用哪一个注册函数。
事件声明
delegate void Handler();public event Handler NewDog;
NewDog是一个成员,并且会被隐式自动初始化为null
事件订阅
NewDog += 方法 //订阅NewDog -= 方法 //取消订阅
方法可以是:实例方法,静态方法,匿名方法,Lambda表达式。
事件触发
if( NewDog != null){ NewDog();}
事件可以理解成是一种封装的受限制的委托。
阅读全文
0 0
- 简单理解委托和事件
- C#委托和事件理解
- 委托和事件理解(转)
- 委托/事件/线程传参简单理解
- 委托/事件/线程传参简单理解
- 委托/事件/线程传参简单理解
- 理解C#中的委托和事件
- 深入理解C#中的委托和事件
- 俗人理解的事件和委托
- 深入理解C#中的委托和事件
- 理解C# 中的委托和事件
- 理解C# 中的委托和事件
- C# 中的委托和事件的理解
- c#委托和事件再理解
- c# 委托 和 事件 自学理解
- C#委托和事件 观察者模式理解
- 浅谈委托和事件(个人理解)
- 理解C#中的委托和事件
- Water Tree CodeForces
- 【DSP】CCS 5.5的工程建立
- 自己用心开始写的第一篇博客
- 习题3.11
- 反射和正则基础
- 简单理解委托和事件
- IO(输入输出)(一)字节流
- QT 对于按钮实现的思考
- CentOS7使用YUM安装Adobe Flash Player
- 16. 3Sum Closest
- 模拟
- 2017
- Linux 安装redis以及redis扩展
- 初识线程1---入门1