当前位置: 首页 > news >正文

网站备案哪里管wordpress更新文章收录

网站备案哪里管,wordpress更新文章收录,wordpress插件如何使用,湖南网站开发公司电话尽管 #xff08;委托、事件与Observer设计模式 #xff09;中的范例很好地完成了我们想要完成的工作#xff0c;但是我们不仅疑惑#xff1a;为什么.Net Framework 中的事件模型和上面的不同#xff1f;为什么有很多的EventArgs参数#xff1f; 在回答上面的问题之前委托、事件与Observer设计模式 中的范例很好地完成了我们想要完成的工作但是我们不仅疑惑为什么.Net Framework 中的事件模型和上面的不同为什么有很多的EventArgs参数 在回答上面的问题之前我们先搞懂 .Net Framework的编码规范 l         委托类型的名称都应该以EventHandler结束。 l         委托的原型定义有一个void返回值并接受两个输入参数一个Object 类型一个 EventArgs类型(或继承自EventArgs)。 l         事件的命名为 委托去掉 EventHandler之后剩余的部分。 l         继承自EventArgs的类型应该以EventArgs结尾。 再做一下说明 1.       委托声明原型中的Object类型的参数代表了Subject也就是监视对象在本例中是 Heater(热水器)。回调函数(比如Alarm的MakeAlert)可以通过它访问触发事件的对象(Heater)。 2.       EventArgs 对象包含了Observer所感兴趣的数据在本例中是temperature。 上面这些其实不仅仅是为了编码规范而已这样也使得程序有更大的灵活性。比如说如果我们不光想获得热水器的温度还想在Observer端(警报器或者显示器)方法中获得它的生产日期、型号、价格那么委托和方法的声明都会变得很麻烦而如果我们将热水器的引用传给警报器的方法就可以在方法中直接访问热水器了。 现在我们改写之前的范例让它符合 .Net Framework 的规范 using System; using System.Collections.Generic; using System.Text; namespace Delegate {     // 热水器     public class Heater {         private int temperature;         public string type RealFire 001;        // 添加型号作为演示         public string area China Xian;          // 添加产地作为演示         //声明委托         public delegate void BoiledEventHandler(Object sender, BoliedEventArgs e);         public event BoiledEventHandler Boiled;//声明事件         // 定义BoliedEventArgs类传递给Observer所感兴趣的信息         public class BoliedEventArgs : EventArgs {             public readonly int temperature;             public BoliedEventArgs(int temperature) {                 this.temperature temperature;             }         }         // 可以供继承自 Heater 的类重写以便继承类拒绝其他对象对它的监视         protected virtual void OnBolied(BoliedEventArgs e) {             if (Boiled ! null) {   // 如果有对象注册                 Boiled(this, e);    // 调用所有注册对象的方法             }         }         // 烧水。         public void BoilWater() {             for (int i 0; i 100; i) {                 temperature i;                 if (temperature 95) {                     //建立BoliedEventArgs 对象。                     BoliedEventArgs e new BoliedEventArgs(temperature);                     OnBolied(e);    // 调用 OnBolied方法                 }             }         }     }     // 警报器     public class Alarm {         public void MakeAlert(Object sender, Heater.BoliedEventArgs e) {             Heater heater (Heater)sender;     //这里是不是很熟悉呢             //访问 sender 中的公共字段             Console.WriteLine(Alarm{0} - {1}: , heater.area, heater.type);             Console.WriteLine(Alarm: 嘀嘀嘀水已经 {0} 度了, e.temperature);             Console.WriteLine();         }     }     // 显示器     public class Display {         public static void ShowMsg(Object sender, Heater.BoliedEventArgs e) {   //静态方法             Heater heater (Heater)sender;             Console.WriteLine(Display{0} - {1}: , heater.area, heater.type);             Console.WriteLine(Display水快烧开了当前温度{0}度。, e.temperature);             Console.WriteLine();         }     }     class Program {         static void Main() {             Heater heater new Heater();             Alarm alarm new Alarm();             heater.Boiled alarm.MakeAlert;   //注册方法             heater.Boiled (new Alarm()).MakeAlert;       //给匿名对象注册方法             heater.Boiled new Heater.BoiledEventHandler(alarm.MakeAlert);    //也可以这么注册             heater.Boiled Display.ShowMsg;       //注册静态方法             heater.BoilWater();//烧水会自动调用注册过对象的方法         }     } } 输出为 AlarmChina Xian - RealFire 001: Alarm: 嘀嘀嘀水已经 96 度了 AlarmChina Xian - RealFire 001: Alarm: 嘀嘀嘀水已经 96 度了 AlarmChina Xian - RealFire 001: Alarm: 嘀嘀嘀水已经 96 度了 DisplayChina Xian - RealFire 001: Display水快烧开了当前温度96度。 // 省略 ... 总结     在本文中我首先通过一个GreetingPeople的小程序向大家介绍了委托的概念、委托用来做什么随后又引出了事件接着对委托与事件所产生的中间代码做了粗略的讲述。     在第二个稍微复杂点的热水器的范例中我向大家简要介绍了 Observer设计模式并通过实现这个范例完成了该模式随后讲述了.Net Framework中委托、事件的实现方式。转自: http://hi.baidu.com/txh1204转载于:https://www.cnblogs.com/runy/archive/2009/08/18/1548651.html
http://www.zqtcl.cn/news/123006/

相关文章:

  • 哪里有网站建设多少钱网站建设哪家服务态度好
  • 白云区网站开发公司备案不关闭网站的方法
  • 男的做那个视频网站家用电脑可以做网站服务器
  • 网站建设的行业客户烟台市未成年思想道德建设网站
  • 设计个网站要多少钱鼓楼网站开发
  • 东莞外贸网站搭建制作北京app开发制作
  • 优化网站公司外包微信商城怎么开店
  • 网站设计的导航栏怎么做东莞seo网络优化
  • wordpress直接上传视频网站吗做网站软件
  • 电脑维修网站模板下载来个网站吧好人一生平安2021
  • 做公益选哪个网站好网站建设方案多少钱
  • 丰台做网站的公司vs2015 手机网站开发
  • 宝思哲手表网站qq官网登录入口网页版
  • 二手书网站开发设计太原建设网站的公司
  • 江门网站seo推广qq代挂网站建设
  • 合肥制作网站企业做文字logo的网站
  • php 网站提速有没有帮人做简历的网站
  • 九江建网站报价比特币网站做任务
  • 电子商务网站开发目的和意义网站建设湖南岚鸿建设
  • 网站改版提交给百度个人定做衣服店
  • 网站接广告网站用途说明
  • 中兴豫建设管理有限公司网站中小企业网站建设济南兴田德润o厉害吗
  • 枣庄有做网站的吗网站 关键词 多少个
  • 广州10大网站服务品牌做网站买了域名之后
  • 北京网站备案电商网站建设考试
  • 微信官网网站虚拟主机网站被挂马
  • 怎么看网站是不是h5做的建设网站的目的和功能
  • 购销网站建设视频百度云中国数据网
  • 网站运营队伍与渠道建设成都开发网站建设
  • 手机网站图片宽度做儿童交互网站