委托是可以相加的,可以形成一个新的委托对象, 调用这个新的委托对象的时候,会按顺序把组合的委托依次执行; 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); }