天轰川视频在20多集的时候提到了委托,第一次学楚广明C#的时候对这块了解不深,这次把这块好好了解了下,算对这块有个入门级的认识。
首先看官方对委托的定义(出自MSDN):委托是一种定义方法签名的类型,用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。
我的理解:委托封装了方法,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。
用C#中的委托和事件简单的实现观察者模式是我在学习别人的博客中跟着敲的小例子,如下:
这是一个模拟烧水的过程,我们将定义一个类来代表热水器,我们管它叫:Heater,它有代表水温的字段,叫做temperature;当然,还有必不可少的给水加热方法BoilWater()。定义一个报警器类Alarm,它有一个发出语音警报的方法MakeAlert()。一个现实板类Display,有一个显示水温的方法,ShowMsg()。
<