• 回调函数示例


    回调函数的意义在于把要处理的程序逻辑交给调用者,被调用者只需要提供对外的接口即可.

    Program.cs

    代码
    using System;

    namespace CallBackDemo
    {
    class Program
    {
    static void Main(string[] args)
    {
    Program prog
    = new Program();
    SumClass sc
    = new SumClass();
    sc.StartWork(
    3, 5); //提供参数。
    sc.DoWork(prog.MySum); //执行这里提供的对应该公开委托签名的方法。
    sc.ShowResult(); //显示处理结果。
    Console.ReadKey();
    }
    //这里的处理逻辑完全由调用者自己决定,只需要匹配对应的公开委托的签名。
    public int MySum(int x, int y)
    {
    return x + y;
    }
    }
    //为了简化数据处理的部分,这里只使用一个加法运算,突出程序的流程和回调的意义。
    public class SumClass
    {
    //通过对外访问接口传入的参数。
    private int x;
    private int y;
    //执行处理后反馈的结果,如果委托的返回类型是void,这里可以省略。
    private int ret;
    //提供对外的访问接口,这里就是一个委托。
    public delegate int Sum(int x, int y);
    //如果被调用的函数没有参数,这里也可以省略。
    public void StartWork(int x, int y)
    {
    this.x = x;
    this.y = y;
    }
    //程序处理部分。
    public void DoWork(Sum sum)
    {
    ret
    = sum(x, y);//处理逻辑交给调用者,这里只负责获取结果。
    }
    //执行后反馈结果,其实这里也可以和程序处理部分合二为一,这里旨在演示回调可以存在诸多处理步骤中的某一步或者某几步。
    public void ShowResult()
    {
    Console.WriteLine(
    "最后的结果是:" + ret);
    }
    }
    }
  • 相关阅读:
    J2ME 游戏开发之GameCanvas的使用
    J2ME游戏开发之字符串的绘制
    JS数组操作
    什么是LBS?地理位置服务
    js中的this怎么理解
    相机参数
    boost 移植到ARM EP9315
    armlinuxgcc 安装和配置
    小算法 : 水仙花数
    C语言标准库 文件操作
  • 原文地址:https://www.cnblogs.com/lucienbao/p/callbackfunction.html
Copyright © 2020-2023  润新知