首页 > 其他分享 >回调

回调

时间:2022-08-29 20:13:02浏览次数:55  
标签:函数 int FunctionClass GetSum 回调 public num1

实际开发中,下面这个类会封装起来,只提供函数接口。相当于系统底层

class CalculateClass
{
    public delegate int SomeCalculateWay(int num1, int num2);
    //将传入参数在系统底层进行某种处理,具体计算方法由开发者开发,函数仅提供执行计算方法后的返回值
    //下面的代码中相当于调用了一个回调函数
    public int Calculate(int num1, int num2, SomeCalculateWay call)
    {
        return call(num1, num2);
    }
}

 开发层处理,开发人员编写具体的计算方法

class FunctionClass
{
    public int GetSum(int a, int b)
    {
        return a + b;
    }

    public int GetMulti(int a, int b)
    {
        return a * b;
    }
}

用户层,执行输入等操作

private void button4_Click(object sender, EventArgs e)
{
    CalculateClass cc = new CalculateClass();
    FunctionClass fc = new FunctionClass();

    int result1 = cc.Calculate(2, 3, fc.GetSum);
    int result2 = cc.Calculate(2, 3, fc.GetMulti);

    richTextBox1.AppendText(result1 + "\r");
    richTextBox1.AppendText(result2 + "\r");
}

上述代码中的FunctionClass中的GetSum()和GetMulti()两个函数称为回调函数。可以看到整个程序中并没有哪个地方通过类似GetSum(1,2)这种形式调用了该函数,只有将其当作另一个函数的参数来进行调用。

标签:函数,int,FunctionClass,GetSum,回调,public,num1
From: https://www.cnblogs.com/celestially98/p/16637191.html

相关文章

  • 函数指针以及回调函数的应用
    一、什么是函数指针;指针是指向某一片内存空间的地址值,函数指针指的是指向函数初始访问地址的指针,我们可以通过这个函数指针来访问或者说调用该函数。相关代码解析如下......
  • 2022.8.21 Forkjoin与异步回调
    14、Forkjoin(分支合并)什么是ForkJoinForkJoin在JDK1.7, 并行执行任务!提高效率。在大数据量中!大数据:MapReduce(把大任务拆分为小任务)Forkjoin特点:工作窃取,这里......
  • 给 TypeScript 回调函数定义接口
    回调函数定义接口就目前我所知道的有两种方式,第一个就是直接声明一个interface,第二个就是直接在函数的回调函数参数写类型。(1)第一种:定义接口,回调函数直接使用接口interf......
  • 将使用回调函数作为参数的函数改造为返回 Promise 的一个具体例子
    我开发了一个函数loadScript,可以动态加载指定的本地JavaScript文件。源代码如下:functionloadScript(src,callback){letscript=document.createElement('scri......
  • C#调用c回调遇到的一个报错
    托管调试助手"CallbackOnCollectedDelegate":“对“WpfApp2!WpfApp2.IM_Callback+TIMRecvNewMsgCallback::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程......
  • 递归回调的实现
    背景异步树展开如果要实现展开回调比较困难,因为展开的过程是异步的。前端:js引擎虽然是单线程执行,但是操作ui的线程是单独的,树的展开过程,就经历了js引擎线程+ui线程的过程......