首页 > 其他分享 >10-1:Action与Func委托

10-1:Action与Func委托

时间:2024-06-10 11:54:54浏览次数:7  
标签:10 委托 DoNothing 参数 Func Action NoReturnNoPara

 

1. Action: 0到16个参数的 没有返回值的泛型委托

Action action1 = () => { };
Action<int> action2 = i => Console.WriteLine(i);

2. 用Action类型做参数:

this.DoNothing(action1);

private void DoNothing(Action act)
{
act.Invoke();
}

 

3. Func:  0到16个参数的 带返回值(最后一个参数)的泛型委托

Func<int> func1 = () => 1;
Func<int, string> func2 = i => i.ToString();

Func<int, int, int> func = (m, n) => m * n + 2;

Func<int, string, DateTime,... string> func17 = null;

 

4. 为什么框架要定义Action与Func?

自己定义的委托,虽然参数列表 返回值类型都一样,但是是不同的,不能通用,在不同的框架组件定义各种各样的相同委托,就是浪费,所以为了统一,就全部使用标准的Action Func

例如:

 public delegate void NoReturnNoPara();//定义一个无参数无返回的委托

 NoReturnNoPara method = () => { };//实例化这个委托
this.DoNothing(method); //报错,虽然都是无参数无返回的委托类做参数,但因为NoReturnNoPara和Action不是同一个类型

标签:10,委托,DoNothing,参数,Func,Action,NoReturnNoPara
From: https://www.cnblogs.com/apple-hu/p/18240561

相关文章

  • 6/10死神永生服周报第四期
    目录死神永生新闻地形收集通知本期专辑:高速行驶死神永生新闻前一周的治理新闻时间人行为处罚方案6/4edededgegegeg炸服(出生点)设为生存一周地形收集通知死神永生服今日起收集服中各种地形,包括各种山洞、山脉、森林、沙漠、等等。收集到的足够......
  • C++Primer Plus 第12章 类和动态内存分配 12.10编程练习第1题new,delete的指向深度拷
    C++PrimerPlus第12章类和动态内存分配12.10编程练习第1题`提示:练习一定要动手操作涉及标准函数及关键词1,new[],delete[],strlen(),strcpy_s(),cout,endl,explicit例如:1,对于下面的类的声明:`提示:设计数组和字符串的new,delete文章目录C++PrimerPlus第12章类......
  • Zabbix 7.0 LTS OVF (build with LNMP based on Rocky 8.10) - VMware 虚拟机模板
    Zabbix7.0LTSOVF(buildwithLNMPbasedonRocky8.10)-VMware虚拟机模板Zabbix7.0LTS|企业级开源监控解决方案请访问原文链接:https://sysin.org/blog/zabbix-7-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgZabbix简介全方位监控获取整个IT......
  • Prov-GigaPath:新型数字病理基础模型|顶刊精析·2024-06-10
    小罗碎碎念顶刊精析|2024-06-10首先祝各位老师、师兄师姐、师弟师妹们端午节快乐!!小罗是社恐,所以就不一一发消息问候了,哈哈。今天这篇推文是昨天下午写完的,想着时间有点晚了,所以就放到今天发了。这篇文献想必很多研究病理组学的老师已经看到了,朋友圈也看到了这篇文献相......
  • python-10-数据处理得学:while+for循环搭配使用,排查数据和除重
    学习内容:《python编程:从入门到实践》第二版知识点:whilefor循环搭配使用,利用while排查数据,删除重复选项练习内容:练习7-8:熟食店创建一个名为sandwich_orders的列表,在其中包含各种三明治的名字,再创建一个名为finished_sandwiches的空列表。遍历列表sandwich_orders,对于其中......
  • python系列:FastAPI系列 10-路由管理APIRouter
    FastAPI系列10-路由管理APIRouterFastAPI系列10-路由管理APIRouter前言一、路由管理APIRouter二、FastAPI主体总结FastAPI系列10-路由管理APIRouter前言在fastapi中也有类似的功能通过APIRouter来管理一、路由管理APIRouter正在开发一个应用程序或We......
  • 【华为OD】D卷真题100分:数组拼接 JavaScript代码实现[思路+代码]
    【华为OD】2024年C、D卷真题集:最新的真题集题库C/C++/Java/python/JavaScript【华为OD】2024年C、D卷真题集:最新的真题集题库C/C++/Java/python/JavaScript-CSDN博客JS、Java、C、C++、python代码实现:【华为OD】D卷真题100分:数组拼接JavaScript代码实现[思路+代码]-CSDN......
  • 屏幕录制TechSmith Camtasia 2024 v24.0.0.1041 中文破解版2024最新免费版
    camtasia2024是由美国TechSmith公司出品的一款屏幕录制及视频编辑软件,其包含了屏幕录像、视频剪辑和编辑、视频录音配音、视频菜单制作、视频剧场和视频播放等功能,可以将多种格式的图像、视频剪辑连接成电影,支持输出AVI、MP4、GIF、RM、WMV、MOV等常见格式,并可将电影文件打包成......
  • 请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有
    //请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数。#include<stdio.h>intfun(int*a){intresult[100];intcount=0;for(inti=1;i<=100;i++){......
  • Spring Boot入坑-10-Git
    简介一个开源的分布式版本控制系统基于Git协议的代码托管平台主要有Github和Gitlab,国内的也有比如Gitee比较多的企业使用Gitlab构建自己的代码托管平台其主要作用是,对代码或文档进行版本化记录与控制主要概念工作区:个人电脑中能看到的项目的目录暂存区:数据暂......