以前都是自己写委托,其实系统内部给我们系统了委托的。

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相关推荐

  1. 泛型委托Action和一些常见用法

    泛型委托Action Action的定义   在.Net2.0里面,Action只有一个定义 public delegate void Action(T arg); 定义一个普通的委托格式是: pub ...

  2. C#委托Action、ActionT、FuncT、PredicateT

    CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个 ...

  3. c# 带返回值的action_C#委托Action、ActionT、FuncT、PredicateT

    一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate void Action(); 用法如下: 1 public void Alert() 2 ...

  4. C#入门级——泛型、泛型类、泛型接口、泛型方法和泛型委托

    目录 一.泛型(generic) 二.为什么需要泛型类 类型膨胀 成员膨胀 使用object类 三.泛型的定义 定义泛型类 使用泛型类 泛型接口​​​​​​​ 两种泛型接口的实现方法 泛型方法 成员膨 ...

  5. 使用.NET中的Action及Func泛型委托

    原文 http://www.cnblogs.com/skm-blog/archive/2013/05/24/3096294.html 委托,在C#编程中占有极其重要的地位,委托可以将函数封装到委托对象 ...

  6. 七天学习计划_c#_[2][3][4][5]委托、事件、委托与事件的区别、泛型委托、Func\Action\predicate

    由于委托之前的博客已经详细写了,这里就简单的过一遍,复习一下: 了解委托 基于委托开发事件驱动程序变得非常简单. 使用委托可以大大简化多线程编程难度. 理解委托 委托也可以看做成一种数据类型,可以定义 ...

  7. 泛型委托 Predicate/Func/Action

    Predicate 泛型委托   表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 看看下面它的定义: // Summ ...

  8. 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)

    一. 泛型委托 所谓的泛型委托,即自定义委托的参数可以用泛型约束,同时内置委托Func和Action本身就是泛型委托. 将上一个章节中的Calculator类中的方法用自定义泛型委托重新实现一下. 1 ...

  9. C#泛型委托Predicate、Action、Func

    Predicate Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 通过查看源码发现 P ...

最新文章

  1. python中string.digits_python学习笔记五:字符串方法
  2. FIR定点提高精度的trick_02
  3. TableView的优化
  4. PS发光眩光效果插件:BBTools Glow Glare for Mac
  5. idea社区版下载lombok或是导入lombok.jar包
  6. Android学习笔记---15_采用Pull解析器解析和生成XML内容
  7. 工业相机选型:相机接口
  8. 那些不得不提的坑(持续添加中)
  9. 【Python】使用Selenium实现淘宝抢单
  10. 跟着团子学SAP PS:项目版本管理-项目模拟功能(CJV1/CJV2/CJV3/CJV4)
  11. Unbuntu下U盘突然权限只读,无法重命名和复制粘贴文件的问题修复
  12. foxmai邮件服务器pop,全球邮企业邮箱Foxmail POP3/IMAP协议设置方法
  13. java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码
  14. linux刻录光驱是哪个好,Linux中使用mkisofs或genisoimage刻录光盘
  15. 用PE安装win11系统
  16. win10启动0xc0000001错误
  17. 中国人都应记住的“中国”一百句名言
  18. 模型融合(集成方法) -投票法
  19. 个人界面(5分钟教学)
  20. python3 下载 并 保存 pdf

热门文章

  1. 初学者python编辑器用geany可以吗_Lubuntu下小巧好用的Python编辑工具Geany
  2. 计算机社团嘉年华的游戏,社团嘉年华,游戏大乱斗!
  3. mysql datetime转date_一个MySQL时间戳精度引发的血案
  4. caj转pdf_CAJ转PDF文件,这恐怕是最全的方法总结了!
  5. 【若依(ruoyi)】重置密码SQL脚本
  6. mysql5.7设置SQL Mode
  7. stripfxg php,代码审计| 适合练手的ZZCMS8.2漏洞
  8. postman下载教程linux,linux 安装postman
  9. html 运用正则表达式,HTML5 使用正则表达式
  10. python怎么调用方法_python中怎么调用自己的方法