黑马程序员技术交流社区
标题:
请问C#中什么是委托?事件是不是一种委托?
[打印本页]
作者:
不是炎亚纶
时间:
2013-11-11 17:11
标题:
请问C#中什么是委托?事件是不是一种委托?
谢谢了 ...
作者:
Goes_By
时间:
2013-11-11 17:53
事件是一种特殊的委托.
委托是一个类,主要是针对方法的.,可以简单的理解委托就是'把方法当参数传递'
作者:
linuxcc
时间:
2013-11-12 00:26
委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。
是,是一种特殊的委托.
说明:
1、委托最初的目的就是想 将方法可以当作参数传递, 跟值一样.
2、委托 可以注册 事件 += 这样在一个方法中可以异步调用事件, 该事件也可以被用户触发.
3、委托调用是动态的,可以替换的,类似于c++中的函数指针,所调用的
函数是运行地才能确定的
作者:
y494890511
时间:
2013-11-12 08:19
1.委托:可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。
2.事件:是一种特殊的委托
作者:
轮回
时间:
2013-11-12 09:35
委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的指针。
委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的 event 方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=” ,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用 Delegate 就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割 List。事件只能 add、remove 自己,不能赋值。事件只能+=、-=,不能= 。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2