using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 泛型委托
{
class Program
{
static void Main(string[] args)
{
//1.需要保存一个无参数,无返回值的一个方法
//无需自己定义委托 直接用Action
//非泛型版本
Action action1 = new Action(M1);
action1();
Console.ReadKey();
//泛型版本,就是一个无返回值,但是参数都可以变化的委托
//action都没有返回值
Action<int, int> a1 = (x, y) => { Console.WriteLine(x, y)};
a1(100, 100);
//++++++++++++++++++++++++++++++++
//Func委托只要有一个泛型版本的,没有非泛型版本的
Func<int, int, int,int> fun = M2;//最后一个表示返回值
int n = fun(1, 2, 3);
Console.WriteLine(n);
}
private static int M2(int n1, int n2,int n3)
{
return n1 + n2 + n3;
}
private static void M1()
{
Console.WriteLine("ok");
}
}
}