全方位解读.NET Framework声明委托代码示例
创始人
2024-06-19 07:20:21
0

.NET Framework作为一款软Web Services引擎,为开发人员提供了一个完善并且透明的基础架构。作为这样一个非常好的工具,我们必须要深入的研究其中的具体含义。那就让我们先从一段代码示例来了解一下.NET Framework声明委托的相关概念吧。#t#

.NET Framework声明委托代码范例如下:

  1. public delegate void BoiledEventHandler
    (Object sender, BoliedEventArgs e);  
  2. public event BoiledEventHandler Boiled;
    //声明事件  
  3. // 定义BoliedEventArgs类,传递给Observer
    所感兴趣的信息  
  4. public class BoliedEventArgs : EventArgs {  
  5. public readonly int temperature;  
  6. public BoliedEventArgs(int temperature) {  
  7. this.temperature = temperature;  
  8. }  
  9. }  
  10. // 可以供继承自 Heater 的类重写,以便继承类拒绝
    其他对象对它的监视  
  11. protected virtual void OnBolied(Bolied
    EventArgs e) {  
  12. if (Boiled != null) { // 如果有对象注册  
  13. Boiled(this, e); // 调用所有注册对象的方法  
  14. }  
  15. }  
  16. // 烧水。  
  17. public void BoilWater() {  
  18. for (int i = 0; i <= 100; i++) {  
  19. temperature = i;  
  20. if (temperature > 95) {  
  21. //建立BoliedEventArgs 对象。  
  22. BoliedEventArgs e = new BoliedEventArgs
    (temperature);  
  23. OnBolied(e); // 调用 OnBolied方法  
  24. }  
  25. }  
  26. }  
  27. }  
  28. // 警报器  
  29. public class Alarm {  
  30. public void MakeAlert(Object sender, 
    Heater.BoliedEventArgs e) {  
  31. Heater heater = (Heater)sender; 
    //这里是不是很熟悉呢?  
  32. //访问 sender 中的公共字段  
  33. Console.WriteLine("Alarm:{0} - {1}: ", 
    heater.area, heater.type);  
  34. Console.WriteLine("Alarm: 嘀嘀嘀,水已经 {0}
     度了:", e.temperature);  
  35. Console.WriteLine();  
  36. }  

希望上面介绍的.NET Framework声明委托的方法能够对大家有所帮助。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...