C#回调函数什么意思

C# 里面这个东西一般指某个委托.其实也可以是接口.

delegate void WorkDone();
void Working(WorkDone callBack){
//Working code.
//当工作完成的时候执行这个委托.
callBack();
}
void WorkDoneHandler(){
   //Do something other.
}
void Do(){
  WorkDone callBack = new WorkDone(WorkDoneHandler);
  Working(callBack);
}

也就是相当把某个方法(WorkDoneHandler())当作参数传递给另外一个方法(Working(WorkDone callBack)).
这样做的好处在于,可以动态的指定执行哪个方法.
比如在Do()方法中,我们指定的callback 是WorkDoneHandler 当然也可以是其它匹配的方法. 而Working()方法 更本不需要知道自己最后执行的是哪个Handler.
posted @ 2010-12-28 11:22  googlegis  阅读(469)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub