c#编程指南(三) 泛型委托(Generic Delegate)
2024-08-27 10:21:31
泛型委托实际上就是一个.NET Framework预定义的委托,基本涵盖了所有常用的委托,所以一般不用用户重新声明啦。
很简单,看下面简单的小例子:
//void method();
Action test1 = () => { Console.WriteLine("void method();"); };
//void method(x);
Action<int> test2 = (x) => { Console.WriteLine("void method(t1)"); };
//void method(x, y);
Action<int, int> test3 = (x, y) => { Console.WriteLine("void method(t1, t2)"); }; test1();
test2();
test3(, );
Action系列泛型委托,是没有返回参数的委托,我简单的举了一个无参数的委托,带一个参数的委托,还有带两个参数的委托。调用的时候和普通的委托没有声明两样。具体的方法我使用的是lambda写的,我前面文章有介绍。是不是很简单,不用自己在写public delegate void VoidDelegate();了。呵呵,简洁明了。
下面是有返回值的泛型委托:
//int method();
Func<int> test4 = () => ;
//int method(int);
Func<int, int> test5 = (x) => x * ;
//int method(int ,int);
Func<int, int, int> test6 = (x, y) => x * y; Console.WriteLine(test4());
Console.WriteLine(test5());
Console.WriteLine(test6(, ));
是不是很简单,Func系列的委托时有返回值的委托。但是在方便之余还是感叹下微软的鬼斧神工吧,哈哈!!
最新文章
- oracle索引监控
- JSP模板继承功能实现
- 浅谈C#中一种类插件系统编写的简单方法(插件间、插件宿主间本身不需要通信)
- AppBox升级进行时 - 如何向OrderBy传递字符串参数(Entity Framework)
- [转] OpenStack Kilo 更新日志
- Bootstrap系列 -- 1. 如何使用Bootstrap
- Appium根据xpath获取控件
- P1093 奖学金
- grep -C n ";匹配字符串"; 匹配字符串上下N行
- ARM GCC CodeSourcery 下载地址
- UVA 10561 Treblecross(博弈论)
- JAVA开发环境搭建 - Eclipse基本配置
- 安卓Eclipse开发者的福音
- OneinStack——PHP多版本共存
- ldap集成nexus
- JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等
- [ 转载 ] get和post的区别
- 【BZOJ1050】[HAOI2006]旅行
- Flowportal-BPM——环境配置
- playbook详解—YAML格式的文本