当前位置: 首页 > news >正文

委托从入门到入土

1、What is Delegate?

什么是委托?据《C#图解教程》定义,委托是一种持有一个或者多个方法的对象,而查看委托的类型,我们会发现委托实质上就是一个类,所以委托是与Program类同一级别,定义时要注意不要在类内部定义了。

2、委托的定义

在了解委托的具体作用前,我们先来看看如何创建一个委托,以及如何使用一个委托。

    // 委托的定义delegate void MyDel(int value);class Program{static void Main(string[] args){}}

如上代码,委托虽然是一个类,但是它的定义和方法的定义很相似,有返回类型(void),有传参(value),但同时也没有方法主体。上述委托表示MyDel类型的委托,只会接受不返回值,且传参仅有一个int类型参数的方法。

3、委托简单的使用

    // 委托的定义delegate void MyDel(int value);class Program{static void Main(string[] args){int value = 20;MyDel myDel1 = new MyDel(GetBigValue);MyDel myDel2 = new MyDel(GetSmallValue);if (value > 50)myDel1.Invoke(value); // myDel1(value)也可elsemyDel2.Invoke(value); // myDel2(value)也可}public static void GetBigValue(int value){ Console.WriteLine($"{value} is big");}public static void GetSmallValue(int value){Console.WriteLine($"{value} is small");}}

总的来说,就是定义一个委托,管理多个方法,根据判断调用对应的方法即可。

相关文章:

  • Vscode 解决 #include <> 找不到的问题
  • Android 异步编程中协程的完整实战示例
  • CppCon 2014 学习第1天:An SQL library worthy of modern C++
  • 安全访问 std::tuple 的容错方法及气象领域应用
  • 数据库中常见的锁机制详解
  • 包会!在Linux上用bcc运行第一个eBPF程序
  • 安装 Node.js 和配置 cnpm 镜像源
  • 详细到用手撕transformer上半部分
  • qt结构化绑定的重大缺陷:只能创建局部变量
  • Vue-Router 动态路由的使用和实现原理
  • 【畅想7s 快捷ICON】在手机桌面添加一张图片的快捷
  • Redis 延迟队列
  • 电脑如何保养才能用得更久
  • AI 眼镜新纪元:贴片式TF卡与 SOC 芯片的黄金组合破局智能穿戴
  • Axure设计案例——科技感立体柱状图
  • ppt一键制作:ai自动生成PPT,便捷高效超级精美!
  • 从 API 调用到智能 Agent:面向未来产品的插件化 AI 中台设计
  • ChatGPT Plus/Pro 订阅教程(支持支付宝)
  • 《Discuz! X3.5开发从入门到生态共建》第3章 Discuz! X3.5 核心目录结构解析-优雅草卓伊凡
  • Mysql数据库mycat部署与mha高可用实例解析
  • 做平台的网站有哪些功能吗/百度搜索量怎么查
  • 旅游网站开发网站设计报告书/2023网站seo
  • 网站设计实例/美业推广平台
  • 深圳营销网站建设公司/外链推广网站
  • wordpress网站支持中文注册/上海职业技能培训机构
  • 专门做酒店设计的网站/百度搜索关键词优化