委托、事件和回调函数这3者之间到底是什么关系
2013-02-17 16:21
926 查看
转自:http://www.cnblogs.com/dongzhiquan/archive/2010/03/18/1994643.html
简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
为什么要使用回调函数?
因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。
回调函数:就是指向指针的指针,保存的就一个地址,通常用在钩子过程,异步过程调用等等,因为是一个地址,不会携带任何其他的信息所以一般的回调函数不是类型安全的.
委托就一个类,他的每个实例就是对一个方法(定义好了返回值,输入参数类型,个数以及函数调用的约定)和其调用时操作的对象的一个封装.
c#中的事件是依靠委托来实现的,事件就是一种通知机制,当一件事情发生时(比如说状态改变)通知给相关的其他对象.
简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
为什么要使用回调函数?
因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。
回调函数:就是指向指针的指针,保存的就一个地址,通常用在钩子过程,异步过程调用等等,因为是一个地址,不会携带任何其他的信息所以一般的回调函数不是类型安全的.
委托就一个类,他的每个实例就是对一个方法(定义好了返回值,输入参数类型,个数以及函数调用的约定)和其调用时操作的对象的一个封装.
c#中的事件是依靠委托来实现的,事件就是一种通知机制,当一件事情发生时(比如说状态改变)通知给相关的其他对象.
相关文章推荐
- 委托、事件和回调函数这3者之间到底是什么关系
- 委托、事件和回调函数这3者之间到底是什么关系
- 有谁能告诉我,委托,事件,回调函数,到底有什么关系
- MFC,C++,VC++,VS2010 之间到底是什么关系
- 【全解析】屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- 【全解析】屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- Android中View的触摸事件涉及到哪些方法?他们之间有什么关系?
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- 屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- jQuery的事件委托方法on、live、delegate之间有什么区别?
- [MRP]到底MRP、MRPⅡ、ERP之间是什么关系?
- 屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- 【全解析】屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- srand函数和rand函数之间到底什么关系?
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- 委托,事件,事件句柄之间的关系
- srand函数和rand函数之间到底什么关系?