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、

相关推荐
xdl2599几秒前
如何快速搭建简单SpringBoot项目网页
java·spring boot·intellij-idea
EF@蛐蛐堂2 分钟前
【vue】新前端工具链Vite+ Alpha
前端·javascript·vue.js
小木木爸4 分钟前
若依框架图片预览异常:Content-Type变成application/octet-stream,前端后端谁的锅?
前端·状态模式
k-l.8 分钟前
【通过jdbc连接到kingbase数据库插入10w数据】
java·数据库
毕设源码-朱学姐10 分钟前
【开题答辩全过程】以 基于java的书店用户管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
gis分享者14 分钟前
华为OD面试-Java、C++、Pyhton等多语言实现-目录
java·c++·华为od·面试·目录·od·机试
爱学习的程序媛17 分钟前
【Web前端】蚂蚁AntV:企业级数据可视化全栈方案
前端·信息可视化·前端框架·web·数据可视化
于先生吖18 分钟前
2026 新版上门回收系统源码 JAVA 同城服务平台搭建指南
java·开发语言
文心快码BaiduComate23 分钟前
Comate Spec Mode能力升级:让复杂任务开发更可控、更稳定
前端·后端
似水明俊德24 分钟前
12-C#.Net-加密解密-学习笔记
笔记·学习·oracle·c#·.net