LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#委托(Delegate)的两大作用

admin
2025年6月21日 22:58 本文热度 280

委托的两个核心功能:一个是将函数作为参数传递,另一个是用来定义事件。

1. 将函数作为参数传递(实现回调机制)

委托允许你将方法(函数)的引用作为参数传递给其他方法,从而实现回调(Callback)或高阶函数的机制(高阶函数是指可以接受函数作为参数,或者返回函数作为结果的函数)。这在事件处理、异步编程(如 BeginInvoke/EndInvoke)、LINQ 查询等场景中非常有用。

示例:

SyntaxEditor Code Snippetvoid Main(){    // 调用    ProcessMessage(Console.WriteLine, "Hello, Delegate!");}// 定义一个使用委托作为参数的方法void ProcessMessage(MyDelegate callback, string message){    callback.Invoke(message); // 调用委托}// 定义一个委托delegate void MyDelegate(string message);

2. 定义事件(Event)

事件(event)是基于委托定义的,它提供了一种发布-订阅(Publish-Subscribe) 机制,允许对象在特定动作发生时通知其他对象。

示例:

SyntaxEditor Code Snippetvoid Main(){    var button = new Button();    // 订阅事件    button.Clicked += (sender, e) => Console.WriteLine("按钮被按下!");    button.Click(); // 调用方法,模拟点击按钮}public class Button // 自定义的按钮类{    // 定义一个事件(基于委托)    public event EventHandler Clicked;    // 调用此方法就能触发事件    public void Click()    {        Clicked?.Invoke(this, EventArgs.Empty); // 触发事件    }}

阅读原文:https://mp.weixin.qq.com/s/Og8OkoKx9SQD6PWifglGjw


该文章在 2025/6/23 14:13:43 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved