刚学习过委托后,自己练习了一个关于烧水的委托,不是很难,分享一下~~
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 using System; 2 3 public delegate void DelWater(); 4 public class Water 5 { 6 public static void Main() 7 { 8 WaterBoil water = new WaterBoil(); 9 Boiling boili = new Boiling(); 10 //发布一个委托,水未烧开 11 water.gen = boili.general; 12 //发布一个委托,水开了 13 water.Boil = boili.Bolled; 14 //开始执行烧水事件 15 water.Boilinging(); 16 } 17 } 18 /* 19 发布委托者 20 被监视方、 21 */ 22 public class WaterBoil 23 { 24 public DelWater gen = null; 25 public DelWater Boil = null; 26 public void Boilinging() 27 { 28 for(int n=20;n<=120;n++) 29 { 30 if(n<100) 31 { 32 gen(); 33 }else 34 { 35 Boil(); 36 } 37 } 38 } 39 } 40 /* 41 接受委托方 42 监视方 43 */ 44 public class Boiling 45 { 46 public void general() 47 { 48 Console.WriteLine("温度不够,水还没有滚!"); 49 } 50 public void Bolled() 51 { 52 Console.WriteLine("温度已经够了,水滚了!"); 53 } 54 }