泛型委托Action与ActionT
以前都是自己写委托,其实系统内部给我们系统了委托的。
Action ——委托的非泛型版本就是一个无参数无返回值的委托。
Action<T>——委托的泛型版本是一个无返回值,但是参数个数及类型可以改变的委托。
Func<T>——委托只有泛型版本的,接受参数个数可以是若干个,也可以没有参数,但是一定要有返回值
class Program{//定义委托//public delegate void adddelegate();static void Main(string[] args){//【1】使用自己定义的委托//adddelegate my = add;//if (my!=null)//{// my();//}//【2】使用系统委托Action my = add;if (my!=null){my.Invoke();}Console.ReadKey();}static void add(){Console.WriteLine("你好世界");}}
泛型委托
数据类型可以改变的委托
理解:比如你要写一个有参数string类型的委托那你就需要定义一个string参数类型的委托,我这个类型又要变成int,你还要写个int参数的委托那是bool的还要写个bool的委托
这个样很麻烦。泛型委托因此而生。
class Program{//定义泛型委托public delegate void PrintDelegate<T>(T str);static void Main(string[] args){//根据泛型委托来接收方法PrintDelegate<int> my2 = add2;//给泛型委托传递参数my2.Invoke(365);PrintDelegate<string> my = add; my("?");
//使用系统Action<>泛型委托 Action <string> my3=add; //使用多个参数的泛型Action委托 Action<int, string> my4 = add2;
my4.Invoke(365,"中国");
my3("??");Console.ReadKey();}static void add(string a){Console.WriteLine("你好世界"+a);}static void add2(int a){Console.WriteLine("你好世界" + a);}}
转载于:https://www.cnblogs.com/xiaowie/p/9391048.html
泛型委托Action与ActionT相关推荐
- 泛型委托Action和一些常见用法
泛型委托Action Action的定义 在.Net2.0里面,Action只有一个定义 public delegate void Action(T arg); 定义一个普通的委托格式是: pub ...
- C#委托Action、ActionT、FuncT、PredicateT
CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个 ...
- c# 带返回值的action_C#委托Action、ActionT、FuncT、PredicateT
一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate void Action(); 用法如下: 1 public void Alert() 2 ...
- C#入门级——泛型、泛型类、泛型接口、泛型方法和泛型委托
目录 一.泛型(generic) 二.为什么需要泛型类 类型膨胀 成员膨胀 使用object类 三.泛型的定义 定义泛型类 使用泛型类 泛型接口 两种泛型接口的实现方法 泛型方法 成员膨 ...
- 使用.NET中的Action及Func泛型委托
原文 http://www.cnblogs.com/skm-blog/archive/2013/05/24/3096294.html 委托,在C#编程中占有极其重要的地位,委托可以将函数封装到委托对象 ...
- 七天学习计划_c#_[2][3][4][5]委托、事件、委托与事件的区别、泛型委托、Func\Action\predicate
由于委托之前的博客已经详细写了,这里就简单的过一遍,复习一下: 了解委托 基于委托开发事件驱动程序变得非常简单. 使用委托可以大大简化多线程编程难度. 理解委托 委托也可以看做成一种数据类型,可以定义 ...
- 泛型委托 Predicate/Func/Action
Predicate 泛型委托 表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 看看下面它的定义: // Summ ...
- 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
一. 泛型委托 所谓的泛型委托,即自定义委托的参数可以用泛型约束,同时内置委托Func和Action本身就是泛型委托. 将上一个章节中的Calculator类中的方法用自定义泛型委托重新实现一下. 1 ...
- C#泛型委托Predicate、Action、Func
Predicate Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 通过查看源码发现 P ...
最新文章
- python中string.digits_python学习笔记五:字符串方法
- FIR定点提高精度的trick_02
- TableView的优化
- PS发光眩光效果插件:BBTools Glow Glare for Mac
- idea社区版下载lombok或是导入lombok.jar包
- Android学习笔记---15_采用Pull解析器解析和生成XML内容
- 工业相机选型:相机接口
- 那些不得不提的坑(持续添加中)
- 【Python】使用Selenium实现淘宝抢单
- 跟着团子学SAP PS:项目版本管理-项目模拟功能(CJV1/CJV2/CJV3/CJV4)
- Unbuntu下U盘突然权限只读,无法重命名和复制粘贴文件的问题修复
- foxmai邮件服务器pop,全球邮企业邮箱Foxmail POP3/IMAP协议设置方法
- java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码
- linux刻录光驱是哪个好,Linux中使用mkisofs或genisoimage刻录光盘
- 用PE安装win11系统
- win10启动0xc0000001错误
- 中国人都应记住的“中国”一百句名言
- 模型融合(集成方法) -投票法
- 个人界面(5分钟教学)
- python3 下载 并 保存 pdf
热门文章
- 初学者python编辑器用geany可以吗_Lubuntu下小巧好用的Python编辑工具Geany
- 计算机社团嘉年华的游戏,社团嘉年华,游戏大乱斗!
- mysql datetime转date_一个MySQL时间戳精度引发的血案
- caj转pdf_CAJ转PDF文件,这恐怕是最全的方法总结了!
- 【若依(ruoyi)】重置密码SQL脚本
- mysql5.7设置SQL Mode
- stripfxg php,代码审计| 适合练手的ZZCMS8.2漏洞
- postman下载教程linux,linux 安装postman
- html 运用正则表达式,HTML5 使用正则表达式
- python怎么调用方法_python中怎么调用自己的方法