【C#】C#中的委托与事件
来源:互联网 发布:godaddy 转入阿里云 编辑:程序博客网 时间:2024/05/29 03:23
【前言】
小编近期在学习设计模式,在学习观察者模式的时候,遇到了一个问题,不太理解事件委托在观察者模式中怎么用,于是又发现自己其实是对事件委托这个东西不太理解,于是深入了解了一下C#中的委托与事件。下面来给大家介绍一下C#中的委托与事件
【C#委托】
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性
1、委托的声明原型
delegate<函数返回类型><委托名>(<函数参数>)
例子:
这样就定义了一个委托,但是委托在.net内相当于声明了一个类,,类如果不实例化为对象,很多功能是没有办法使用的,委托也是如此
2、委托的实例化
原型:<委托类型> <实例化名>=new <委托类型>(<注册函数>)
例子:
3、泛型委托
委托也支持泛型的使用
泛型委托原型:
delegate<T1><委托名><T1,T2,T3...>(T1 t1,T2 t2,T3 t3...)
例子:
【C#事件】
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。
1、通过事件使用委托
事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用发布-订阅(publisher-subscriber) 模型。
发布器(publisher) 是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。
2、声明事件(Event)
在类的内部声明事件,首先必须声明该事件的委托类型。例如:
上面的代码定义了一个名为BoilerLogHandler的委托和一个名为BoilerEventLog的事件,该事件在生成的时候会调用委托
- 【C#】C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- c#中的委托与事件
- c#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- C# 中的委托与事件
- c#中的委托与事件
- C#中的委托与事件
- C#中的委托与事件
- [C#] C#中的委托和事件
- 理解C#中的事件与委托
- 10.文件访问权限
- PHP中DOM操作
- 职场注意事项
- [LeetCode]368. Largest Divisible Subset
- 前端浏览器兼容问题&hack
- 【C#】C#中的委托与事件
- Android编程权威指南(第二版)学习笔记(十七)—— 第17章 Master-Detail 用户界面
- 属性注入方式
- ubuntu下android-studio环境配置
- ffmpeg裁剪合并视频
- 自定义View冷知识之动态替换layout.xml中的View
- Qt QPainter类 画板的使用
- HTML+CSS学习笔记四
- React native 技术视频免费共享190集(持续更新中)