小弟不是计算机专业出身,没有变成底子...但是自学C#两年多,不通其法... 网上看了好多资料,都不是很明白,快被委托事件以及回调函数搞死了...请各位救命啊````
问题
1.什么是回调函数,它和事件有什么关系,它具体能实现什么功能(有例子最好).2.什么是委托,委托是干什么用的,它对事件能够产生什么作用.3什么是事件,什么是事件发送者,什么是事件接收者,什么是事件监听器(事件监听器是否又叫事件句柄);事件的发生过程的逻辑数序是怎样的;委托在事件中起什么作用;能否举个关于事件的例子(例如winform,里边包含一个按钮).

解决方案 »

  1.   

    C++的回调函数和C#中的委托、都是那么一回事
    说通俗一点、回调函数就是绑在一个函数上的附属品、当运行完这个函数、会自动接着运行这个函数身上绑着的回调函数
    C#中委托也大同小异,触发满足某种条件的情况下、运行委托指定的方法
    至于委托或者说回调函数的用处、就是你想打你家的猫的时候、猫不在你的手边、你只好对你的手说、等猫来的时候、你一定要抓住、并且把我现在的想法(打它)给实现了     这就是委托、如果你直接运行“打”这个方法、猫根本没在你身边、你运行的条件就不具备、所以只能委托给你的手、把你的想法事先告诉手、到条件符合的时候、手自然就会运行方法---当猫来的时候、手自然就会去打他
      

  2.   

    1、回调函数,你叫你儿子做作业,一种是你看着他做(Do),做完后你检查(Check);另一种是他自己做作业(Do),你去看你爱干的事,他做完后告诉你,你再检查(Check)。
       后者就是回调。这里的时间就是作业的Event_Done。回调即当A调用B,B再调用A,也可能是C、D...
    2、委托即当例1后者的例子中,你让儿子做作业的时候还没想好他做完(Event_Done)后要做什么,这时候就当有一个委托,你可以让这个委托是父亲类的“Check”或儿子类的“Play“,这可以再运行期指定,在编译器不指定
    3、上诉例子中,作业做完Event_Done就是一个事件,很显然,父亲(父亲类的实例)是接受者,儿子(儿子类的实例)是发送者,事件监听器...这个好像有点概念化,大概意思是对事件进行监听,我好像就在socket的时候才用到类似的监听。例子:你在等待儿子跟你说话,你的耳朵处于监听状态...
    4、事件的发生过程要看具体例子了,委托即当在你编译程序的时候并不指定事件发生时怎么处理,在运行期指定。按钮按下是个事件,你双击按钮在后台代码里看到的是这个事件的处理方法,这个例子中没有委托
    委托看2不晓得我说的是抽象还是形象...