委托的组合
委托是可以相加的,可以形成一个新的委托对象,
调用这个新的委托对象的时候,会按顺序把组合的委托依次执行;
MyDel zh = new MyDel(F1) + new MyDel(F1) + new MyDel(F1);
class Program
{
static void Main(string[] args)
{
MyDel d1 = F1;//MyDel d1=new MyDel(F1);
MyDel d2 = F2;
MyDel d3 = F3;
MyDel zh = d1 + d2 + d3;//委托是可以相加的,可以形成一个新的委托对象,
//调用这个新的委托对象的时候,会按顺序把组合的委托依次执行;
//MyDel zh = new MyDel(F1) + new MyDel(F1) + new MyDel(F1);
zh(6);
MyDel zh2 = d1 + d3;
Console.WriteLine("第二次:");
zh2(8);
Console.WriteLine("第三次:");
zh = zh - d1;
zh(3);
Console.ReadKey();
}
static void F1(int i)
{
Console.WriteLine("我是F1=" + i);
}
static void F2(int i)
{
Console.WriteLine("我是F2=" + i * 2);
}
static void F3(int i)
{
Console.WriteLine("我是F3=" + i * i);
}
delegate void MyDel(int i);
}