委托的基本知识
委托的基本概念
1、定义->标准
2、实现方法->不关心具体过程
3、关心结果,满足定义的标准
Ds()叫做隐式调用
Ds().Invoke()叫做显示调用
委托的概念
把一系列的方法当作参数传递
定义的语法
public delegate void ShowDelegate();
关键字 返回值类型 委托名称 参数列表
这是定义一个 无返回值的 无参数的委托
委托有有返回值,无参数的委托,有返回值,有参数的委托
无返回值的也是同理
委托的赋值方法
第一种 ShowDelegate ds = new ShowDelegate(Show);
委托类型 名称 生成一个委托 方法名称(切记不要带小括号)
第二种Show2Delegate ds_2 = Show2; 直接赋值方法
委托类型 名称 方法名称,不要带括号
第三种 Show2Delegate sd_3 = (msg) =>
{
Console.WriteLine(msg);
};
匿名方法
第四种 委托变量声明之后使用+=、-=
Show2Delegate sd_4 = null;
sd_4 += Show2;
多播委托
PrintLogDelegate printLog = null;
printLog += Print1;
printLog += Print2;
printLog += Print3;
任何委托都可以作为多播委托
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)