C#回调函数

1、使用委托实现回调

csharp 复制代码
 public delegate void CallbackDelegate(string message);//定义一个委托类型
 CallbackDelegate callbackDelegate;//声明一个委托对象
csharp 复制代码
  /// <summary>
        /// 定义委托对应的函数
        /// </summary>
        /// <param name="str"></param>
        public void CallBackFunc(string  str)
        {
            Console.WriteLine($"我是回调函数,我输出内容:{str}");
        }
csharp 复制代码
 callbackDelegate = CallBackFunc;//实例化委托
csharp 复制代码
 /// <summary>
        /// 定义主函数
        /// </summary>
        /// <param name="callback"></param>
        public void DoSomething(CallbackDelegate callback)
        {
            // 执行一些操作
            string result = "操作完成";

            // 调用回调函数
            callback(result);
        }

调用:

csharp 复制代码
   DoSomething(callbackDelegate);//调用主函数

输出:

csharp 复制代码
我是回调函数,我输出内容:操作完成

上面的代码中DoSomething是一个主函数,这个函数有一个委托类型的参数,所以调用时直接传入一个委托即可,并且DoSomething函数执行快结束的时候调用了传入的委托,这个委托绑定的函数就叫做"回调函数",所以这里的回调函数就是主函数快要结束的时候调用一个委托对象,又因为委托绑定的是函数,所以调用的本质上就是一个函数,这里称为回调函数。

2、

相关推荐
勤奋的知更鸟5 分钟前
Java 编程之策略模式详解
java·设计模式·策略模式
qq_4924484467 分钟前
Java 访问HTTP,信任所有证书,解决SSL报错问题
java·http·ssl
爱上语文10 分钟前
Redis基础(4):Set类型和SortedSet类型
java·数据库·redis·后端
lifallen24 分钟前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase
「、皓子~26 分钟前
后台管理系统的诞生 - 利用AI 1天完成整个后台管理系统的微服务后端+前端
前端·人工智能·微服务·小程序·go·ai编程·ai写作
就改了29 分钟前
Ajax——在OA系统提升性能的局部刷新
前端·javascript·ajax
凌冰_30 分钟前
Ajax 入门
前端·javascript·ajax
京东零售技术1 小时前
京东小程序JS API仓颉改造实践
前端
老A技术联盟1 小时前
从小白入门,基于Cursor开发一个前端小程序之Cursor 编程实践与案例分析
前端·小程序
风铃喵游1 小时前
构建引擎: 打造小程序编译器
前端·小程序·架构