.NET Framework 3.5新增泛型委托System.Func和System.Action

在.NET Framework 3.5中,新增了个泛型委托System.Func,它有5个重载:

public delegate TResult Func<TResult>();
public delegate TResult Func<T, TResult>(T arg);
public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
public delegate TResult Func<T1, T2, T3, TResult>(T1 arg1, T2 arg2, T3 arg3);
public delegate TResult Func<T1, T2, T3, T4, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);

T1-T4表示委托封装的方法的参数类型,TResult表示方法返回值类型,可见,System.Func委托封装的方法允许带的参数最多可以达到4个。有了这些委托,在一些场合中,省了我们自己去定义委托的麻烦。

另一个委托是System.Action,它和System.Func基本一样,只是没有返回值:

public delegate void Action();
public delegate void Action<T>(T obj);
public delegate void Action<T1, T2>(T1 arg1, T2 arg2);
public delegate void Action<T1, T2, T3>(T1 arg1, T2 arg2, T3 arg3);
public delegate void Action<T1, T2, T3, T4>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);


官方文档

[1].Func委托:http://msdn.microsoft.com/zh-cn/library/bb534303(v=VS.90).aspx
[2].Action委托:http://msdn.microsoft.com/zh-cn/library/system.action(v=vs.90).aspx

上一篇: Lambda表达式学习笔记
下一篇: 儿呀,娘想做你家的一条狗
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 6629
发表评论
登录后再发表评论!