c# 委托与事件
来源:互联网 发布:windows哪个系统最好 编辑:程序博客网 时间:2024/06/05 11:50
推荐阅读:
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx
http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-Advanced.aspx
简单来说:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句
举例:有A(string name) B(string name) C (string name) 三个方法
现在调用哪个方法不确定。那么需要将方法作为参数传递,这个涉及到映射,是一个难点,具体可以参考我的映射教程。此处假设已经完成了方法与参数的映射。
如果不用委托
则程序需要判断
if(A)
else if(B)
else(C)
采用委托则会简单很多
参第一个链接
//注意此方法,它接受一个GreetingDelegate类型的方法作为参数
private static void GreetPeople(string name, GreetingDelegate MakeGreeting) {
MakeGreeting(name);
}
此处就能将方法作为MakeGreeting参数传递,然后调用MakeGreeting(name);即调用对应的方法。
事件:对委托进行了封装
区别委托事件是否可以使用=来赋值是否是否可以在类外部进行调用是否是否是一个类型是否,事件修饰的是一个对象
0 0
- c# 委托与事件
- C#委托与事件
- C# 委托与事件
- c#委托与事件
- C# - 委托与事件
- C#委托与事件
- C# 委托与事件
- C#委托与事件
- c#委托与事件
- C#事件与委托
- C# 事件与委托
- C#事件与委托
- c#委托与事件
- C#委托与事件
- c#委托与事件
- C#委托与事件
- C# 委托与事件
- C#委托与事件
- 2016弱校联盟十一专场10.5---As Easy As Possible(倍增)
- 集合框架的初步理解(set)
- 第9课:Spark Streaming源码解读之Receiver在Driver的精妙实现全生命周期彻底研究和思考
- Wildfly启动错误:Address already in use: Bind(端口冲突)
- Android layout实现输入法弹出后,布局整体上移
- c# 委托与事件
- Spring之scope属性详解
- OSGI无法导入外部JAR包问题解决思路
- HDU 2544(简单spfa)
- onclick函数的导包问题
- 中国移动信令XDR TBCD编码与解码
- centos7安装python3.5
- saltstack模块
- Navicat 8注册码