<1>Predicate泛型委托
var a = new Predicate<int>(方法);
Predicate的定义
public delegate bool Predicate<in T>(T obj);
<2>Action泛型委托
Action泛型委托限制的就不那么死了,
他代表了一类方法:
可以有0个到16个输入参数,
输入参数的类型是不确定的,
但不能有返回值,
var a1 = new Action(x); var a2 = new Action<int, string>(y); static void x() { //do what you want } static void y(int a, string b) { //do what you want }
<3>Func泛型委托
为了弥补Action泛型委托,不能返回值的不足
.net提供了Func泛型委托,
相同的是它也是最多0到16个输入参数,参数类型由使用者确定
不同的是它规定要有一个返回值,返回值的类型也由使用者确定
var d5 = new Func<int, string>(a);
注意:string类型(最后一个泛型类型)是方法的返回值类型
static string a(int a)
{ //do what you want return string.Empty; }
原文:http://www.cnblogs.com/qingrenlei/p/3577532.html