定义委托:
1 //写一个委托,谁愿意做什么操作就自己写去,哥不管了!
2 public delegate int delegateAllLen<T>(List<T> list);
3 //写一个委托,谁愿意做什么操作就自己写去,哥不管了!
4 public delegateAllLen<T> FuncAllLen { get; set; }
5 public int AllLen()
6 {
7 if (FuncAllLen != null)
8 {
9 return FuncAllLen(_List);
10 }
11 return 0;
12 }
/// <summary>
2 /// 委托的实现
3 /// </summary>
4 /// <param name="bln"></param>
5 /// <returns></returns>
6 public int Temp(List<bool> bln)
7 {
8 int i = 0;
9 foreach (var item in bln)
10 {
11 if (item) i++;
12 }
13 return i;
14 }
15
16 public void Main()
17 {
18 var list = new MyList<bool>();
19
20 list._List.Add(true);
21 list._List.Add(false);
22 list._List.Add(true);
23 ///实现委托
24 list.FuncAllLen += Temp; //实现将方法赋值给委托属性。
25 MessageBox.Show(list.AllLen().ToString());//调用委托。
26 }