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.mfbz.cn/a/91486.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 1 简介 视频演示地址: 基于微信小程序的智能垃圾分类回收系统,可作为毕业设计 小…

【系统】win11怎么退回win10

根据微软官方提供的回滚方案显示,在升级Win11之后的10天之内,用户可以通过系统恢复选项将Win11还原Win10。操作方式也比较简单,大家可以打开系统设置,找到相应选项,选择并确认后即可轻松将Win11回退早期版本。详细操作…

darknet yolo make报错,缺少instance-segmenter.o的规则

文章目录 darknet yolo make报错,缺少instance-segmenter.o的规则报错原因解决办法新问题解决办法 补充g编译选项Makefile编译规则 darknet yolo make报错,缺少instance-segmenter.o的规则 报错原因 Makefile没有识别到对于instance-segmenter.o的编译…

Docker制作镜像

使用mysql:5.7和owncloud镜像,构建个人网盘: 首先,确保你已经安装了Docker。然后,使用以下命令拉取并运行mysql:5.7镜像: docker run -d --name mysql-server -e MYSQL_ROOT_PASSWORD123456 mysql:5.7 接下来&…

jvm开启远程调试功能;idea远程debug

概述 有时候一些问题本地调试无法复现,这个时候可以开启jvm的远程调试功能 jar包启动 jdk8 java -agentlib:jdwptransportdt_socket,address8787,servery,suspendn -jar xxx.jarjdk11/17 java -agentlib:jdwptransportdt_socket,address*:8787,servery,suspe…

【ArcGIS Pro二次开发】(62):复制字段

应网友需求,做了这么一个复制字段的小工具。 假定这样一个场景,手头有一个要素1,要素里有10个字段,另一个要素2,除了shape_area等图形字段外,没有其它字段。 现在的需求是,想把要素1中的8个字…

Docker容器与虚拟化技术:GitHub账户注册

目录 一、实验 1.GitHub 一、实验 1.GitHub (1)GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。 (2)官网 GitHub: Let’s build from here …

Mac发现有的软件不能上网的破解之法

1、Mac上打开终端 terminal ,获取 root 权限。 sudo -i 2、编辑 hosts 文件 vim /private/etc/hosts 3、找到被禁止软件的数据请求域名,然后删除相关行,快捷件dd,然后:wq保存退出 比如百度 127.0.0.1 pan.baidu.com ##sec 印…

为什么物联网和端点安全需要细化

组织和个人越来越关心:物联网 ( IoT ) 的激增以及这些设备创建的无数端点。预计到 2025 年将有 750 亿个物联网设备投入使用,确保这些设备的安全已经至关重要。 2019 年生产的设备预期寿命只有五年,现在存在大量制造商在生产过程中无法预见的…

一张表将DataFrame两列合并为一列

将年份和月份合并为一个新字段(日期) data["日期"] data["年份"].map(str) "-" data["月份"].map(str)map用法 如果需要把数据集中gender列的男替换为1,女替换为0,怎么做呢?绝…

Vue2向Vue3过度核心技术自定义指令

目录 1 自定义指令1.指令介绍2.自定义指令3.自定义指令语法4.指令中的配置项介绍5.代码示例6.总结 2 自定义指令-指令的值1.需求2.语法3.代码示例 3 自定义指令-v-loading指令的封装1.场景2.需求3.分析4.实现5.准备代码 1 自定义指令 1.指令介绍 内置指令:v-html、v…

Python如何获取用户输入

获取用户输入的方法 在编程中,获取用户输入是一项常见任务,Python提供了多种方法来实现这一目标。让我们一起来看看这些方法。 使用input()函数获取用户输入 Python内置函数input()可以用来获取用户的输入。当程序运行到input()函数时,程序…

使用StreamLold写入 Starrocks报错:Caused by org

问题描述 使用StreamLoad写入Starrocks报错&#xff0c;报这个错误:Caused by: org.apache.http.ProtocolException: Content-Length header already present 代码案例 引入依赖 <!-- Starrocks使用StreamLoad发送Http请求 --><dependency><groupId>or…

Springboot实现ENC加密

Springboot实现ENC加密 1、导入依赖2、配置加密秘钥&#xff08;盐&#xff09;3、获取并配置密文4、重启项目测试5、自定义前缀、后缀6、自定义加密方式 1、导入依赖 关于版本&#xff0c;需要根据spring-boot版本&#xff0c;自行修改 <dependency><groupId>co…

基于Vue的3D饼图

先看效果&#xff1a; 再看代码&#xff1a; <template><div class"container"><div style"height: 100%;width: 100%;" id"bingtu3D"></div></div></template> <script> import "echarts-liqu…

解决git上传远程仓库时的大文件提交

在git中超过100M的文件会上传失败&#xff0c;而当一个文件超过50M时会给你警告&#xff0c;如下 warning: File XXXXXX is 51.42 MB; this is larger than GitHubs recommended maximum file size of 50.00 MB 解决这种问题&#xff0c;首先在项目的.git文件夹中找到.gitigno…

嵌入式设备应用开发(发现需求和提升价值)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多做技术的同学,都会陷入到技术的窠臼之中。对于如何做具体的产品、实现具体的技术,他们可能很感兴趣。但是做出来的东西做什么用,或者说是有没有竞争力,事实上他们不是很关心…

Android Studio升级到Android API 33版本后,XML布局输入没有提示

低版本的Android Studio升级到Android API 33版本后&#xff0c;XML布局输入没有提示。查一下我目前使用的Android Studio 是2021年发布&#xff0c;而Android API 33是2022年发布的&#xff0c;这是由低版本升级到高版本造成不兼容的问题。解决方法有两种&#xff1a; 第一种…

【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 &#x1f4d6;所属专栏&#xff1a;Re…

Unity 之 Time.deltaTime 的详细介绍以及用法

文章目录 Time.deltaTime 是什么&#xff1f;Time.deltaTime 有什么用&#xff1f;移动游戏对象&#xff1a;控制动画播放速度&#xff1a;实现平滑的计时器和延时&#xff1a; Time.deltaTime 是什么&#xff1f; “DeltaTime”&#xff08;也被称为 “Delta Time”&#xff…
最新文章