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.
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-12
补充一个通俗说法:把某个方法当做参数传递到别处,这个参数相当于一个引用。在别处调用这个参数,由于是引用,实际效果等于【回去实际地址调用被引用方法】。所以叫回调方法/函数。
仅供参考。

c#-回调callback是什么原理,机制? C#
:回调函数,就是程序在执行过程中,某个条件触发后,去调用的那个函数,这需要用到函数指针,通过函数指针找到函数的入口地址,执行回调函数。在.net中,用委托来实现,委托是对函数指针的安全封装。方法(参数1,参数2,回调函数)就是把 参数1,和参数2传给 回调函数委托是对函数指针的安全封装以前的函数...

回调函数(callback)是什么? ,,
回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现,在C++、Python、ECMAScript等更现代的编程语言中还可以使用仿函数或匿名函数。回调函数的使用可以大大提升编程的效率,这使得它在现代编程中被非常多地使用。同时,有一些需求必须要使用回调函数来实现。最著名的回调函数调用...

C#回调函数什么意思
C# 里面这个东西一般指某个委托.其实也可以是接口.delegate void WorkDone();void Working(WorkDone callBack){ \/\/Working code.\/\/当工作完成的时候执行这个委托.callBack();} void WorkDoneHandler(){ \/\/Do something other.} void Do(){ WorkDone callBack = new WorkDone(WorkDoneHandler);Wo...

C#异步,什么叫做回调方法? IAsyncResult这个类是干什么的
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。http:\/\/msdn.microso...

c#-回调callback是什么原理,机制? C#
当被调函数所执行处理完毕时,被调函数反过来调用一个指定的函数(称为回调函数)向调用者返回处理结果或通知调用者处理结束。这个过程称为回调(Callback)。通常,调用者发出调用时,以函数参数方式将回调函数传递给被调函数。在C#中,回调过程与其他语言没有区别,只是回调函数是以委托方式传递的。

可以通俗的讲下C# 构造函数 析构函数 和回调函数 么?
~Student(){}这个就是析构函数 注意前面有一个 波浪线 作用:析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。3.回调函数 C# 里面这个东西一般指某个委托.其实也可以是接口.delegate void WorkDone();void Working(Work...

C#中的委托是什么,简单说一下,
简单说 就是C++或者VB里的回调函数(callback) 。就是用函数作为另外一个函数的参数, 就是说一个函数在执行过程中需要调用另外一个函数, 但这另外一个函数是不确定的, 那么就可以用委托。

C#中,在窗口绘图的时候,添加了一个picturebox,将导入的图片覆盖整个窗口...
这是“回调函数”的原理。就是说你的绘制方法是给系统调用的,而不是自己调用的。你按系统要求的标准写一个绘图方法,当系统认为需要重绘一个窗口了(比如刚刚显示,或是被其他窗口遮到又露出了),这时就会调用你写的那个OnPaint方法,把屏幕里那个窗口绘制区与一个绘图设备(Graphics,如同画布)上下文...

c#调用sdk时,求教回调函数如何处理
上面的参数ew就是一个委托(回调函数),再看这个参数的声明:delegate bool DelegateEnumWindow(IntPtr hWnd, int lParam);再看调用:DelegateEnumWindow dew = new DelegateEnumWindow(CallBackProc);\/\/实例化委托 EnumWindows(dew, 0);\/\/调用API 再看CallBacProc的定义:private bool CallBackProc(IntPtr ...

求助:如何封装C++的中的回调函数供C#调用
在c++中有个回调函数指针的概念,只需要某个函数在调用定时器函数时传入一个函数指针就能达到目的,但C#中没有函数指针的概念,我们该怎样来实现呢。其实说到回调函数,大家应该能想到c#中的委托,虽然名字不一样,但在各自的语言范畴都能实现相似的功能。所以我们就可以大胆的尝试下,把c#中的委托传给...

相似回答