一、Func泛型委托
Func委托代表有返回类型的委托,它共有17个重载。其中,Func< TResult >是不获取参数而返回结果。Func<T1,T2,…T16,TResult>,带有16个参数,一个返回结果。Func的返回结果是其所委托的方法的返回值,其类型是TResult决定的。
Func是具有返回值的范型委托,那么如果如果方法没有返回值,应该用哪种委托呢?此时应该用Action委托,Action是没有返回结果的委托。
二、Action范型委托
Action表示的是行动,它引用的是采取行动而不返回值的方法,即Void方法。同样的,从获取单个参数的Action到Action<T1,T2…T16>都有。
下面通过代码来演示这两种委托的使用方法。
三 调用方法
namespace DelegateExercise
{
class Program
{
static void Main(string[] args)
{
Calculator calculator = new Calculator();
//创建一个Action委托实例。Action<int, int> 中的两个int表示即将引用的方法需要带有两个int类型的参数。
//函数没有返回值,且带有两个int类型的参数,calculator.CallBack()方法正好适合。
Action<int, int> action1 = new Action<int, int>(calc