委托主要用于保存一个方法的引用,定义一个委托的过程实际上就是创建了一个新类,那么就可以通过new来创建一个委托的实例。示例程序:
1
using
System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace ConsoleApplication1
6 {
7 public delegate int DelegateClass(string info);
8 public class Program
9 {
10 public static void Main()
11 {
12 DelegateClass obj = new DelegateClass(MethodA);
13 DelegateClass obj2 = MethodA;
14 obj("1");
15 obj.Invoke("2");
16 obj = null;
17 obj2 = null;
18 }
19 public static int MethodA(string info)
20 {
21 Console.WriteLine("MethodA开始工作");
22 return int.Parse(info);
23 }
24 }
25}
委托就是事件与事件处理的连接机制,在连接事件和其处理程序之前,需要定义一个其他对象关心的事件。并且事件是委托类型的变量。事件处理的方法和委托同样的签名,参数可以不同名,但类型和排放顺序一定要一样。
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace ConsoleApplication1
6 {
7 public delegate int DelegateClass(string info);
8 public class Program
9 {
10 public static void Main()
11 {
12 DelegateClass obj = new DelegateClass(MethodA);
13 DelegateClass obj2 = MethodA;
14 obj("1");
15 obj.Invoke("2");
16 obj = null;
17 obj2 = null;
18 }
19 public static int MethodA(string info)
20 {
21 Console.WriteLine("MethodA开始工作");
22 return int.Parse(info);
23 }
24 }
25}