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

C#_委托详解

委托是什么?

字面理解:例如A要建一栋别墅,找到B建筑施工队,请B来建筑别墅。

委托类型规定方法的签名(方法类型):返回值类型、参数类型、个数、顺序。

委托变量可以用来存储方法的引用,相当于把函数当做参数传给另一个函数。

委托作用?

①通过委托调用更灵活。

②可以将不变代码进行封装隔离变化,更易于维护。

委托应用

①定义委托

[访问修辞]  delegale 返回类型  委托名(参数列表)

注:委托参数中目前语法不能省略参数名;委托是类型,与class同级,所以可以定义在类外。

②实例化委托

委托类型  委托变量 = new 委托名(方法名)

委托类型  委托变量 = 方法名

③使用委托

委托引用名(实参列表)

委托引用?.Invoke(参数)

示例一

 示例二

static void Main(string[] args)
{Cal cal1 = Add;Test(cal1); //Test(new cal(Dec));Test(Dec)}

泛型委托

顾名思义就是使用泛型来定义委托。

好处:简化委托的使用,可以自动生成委托。

系统预定义的泛型委托

示例

示例一  无参无返

 

示例二  有参无返

示例三  有参有返1 

 

Func泛型中类型分别是 传参1、传参2、返回值

 

 示例四  有参有返2

 

Func泛型中类型分别是 传参1、传参2、返回值

 

 

http://www.lryc.cn/news/143643.html

相关文章:

  • R包开发-2.2:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)
  • 基于数据湖的多流拼接方案-HUDI实操篇
  • Spring MVC 四:Context层级
  • 【C++ 学习 ⑱】- 多态(上)
  • 合宙Air724UG LuatOS-Air LVGL API控件--进度条 (Bar)
  • 图神经网络与分子表征:番外——基组选择
  • rabbitmq笔记-rabbitmq客户端开发使用
  • 13.Oracle中nvl()与nvl2()函数详解
  • 设置某行被选中并滚动到改行
  • React钩子函数之useRef的基本使用
  • 无风扇迷你电脑信息与购买指南
  • 比特币是怎么回事?
  • vue3+ts+uniapp小程序端自定义日期选择器基于内置组件picker-view + 扩展组件 Popup 实现自定义日期选择及其他选择
  • Java进阶篇--泛型
  • android framework之Applicataion启动流程分析
  • Linux Day10 ---Mybash
  • Flask-Sockets和Flask-Login联合实现websocket的登录认证功能
  • 东盟全面覆盖?长城战略部署核心区域市场,首个百万粉丝国产品牌
  • 基于PHP的电脑商城系统
  • 无客户端网络准入方案,为集成电路企业终端管理开启省事更省心模式
  • 5G与4G的RRC协议之异同
  • 横扫“盲区”、“看透”缺陷,维视智造推出短波红外相机
  • cgo踩坑:交叉编译过程出现的问题could not determine kind of name for C.XXX
  • 自然语言处理(NLP)技术的例子
  • Python“牵手”义乌购商品列表数据,关键词搜索义乌购API接口数据,义乌购API接口申请指南
  • ip_vs 原理解析 (四)hook 后的开始 NF_INET_LOCAL_IN
  • 分布式之CAP理论与BASE理论
  • Java之初始化顺序实践
  • 静态库与动态链接库,第三方库集成到VS
  • 生态经济学领域里的R语言机器学(数据的收集与清洗、综合建模评价、数据的分析与可视化、数据的空间效应、因果推断等)