定义委托:
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 }
