15.5 为委托添加一个方法

到现在为止,我们为所有委托类型的变量都只引用了一个方法,除了15.4节中两个委托通过组合,实现了委托引用多个方法的目的,接下来讨论如何为一个现有的委托引用更多的方法,而不仅仅是一个。为委托添加方法也是使用"+="运算符实现的,如代码清单15-3所示。

代码清单15-3 为委托添加方法


1 namespace ProgrammingCSharp4

2{

3 public delegate void DoProcess(string msg);

4

5 class DelegateSample

6{

7 void Process1(string msg)

8{

9 System.Console.WriteLine(“处理流程1:{0}”,msg);

10}

11

12 void Process2(string msg)

13{

14 System.Console.WriteLine(“处理流程2:{0}”,msg);

15}

16

17 public static void Main()

18{

19 DelegateSample sample=new DelegateSample();

20 DoProcess p1;

21 p1=sample.Process1;

22 p1+=sample.Process2;

23

24 System.Console.WriteLine(“调用委托p1:”);

25 p1(“测试数据”);

26}

27}

28}


上述代码的运行结果为:


调用委托p1:

处理流程1:测试数据

处理流程2:测试数据