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

邯郸网站设计公司排名怎样做instergram网站营销

邯郸网站设计公司排名,怎样做instergram网站营销,表白网站制作在线,简单的个人网站前言#xff1a; 观测者模型的基本理念#xff0c;就是#xff0c;我有一个公共的事件#xff0c;定义好他的事件的触发、数据接口。然后#xff0c;通过增加订阅者#xff08;实例#xff09;来订阅这个事件的#xff0c;或者说观察这个事件。如果事件发生#xff0…前言 观测者模型的基本理念就是我有一个公共的事件定义好他的事件的触发、数据接口。然后通过增加订阅者实例来订阅这个事件的或者说观察这个事件。如果事件发生订阅了事件或订阅了观察的类就执行这个时间的方法触发的执行。 这种方式的好处就是解耦了生产者事件发生和消费者事件处理的绑定关系注册观察了再执行否则不执行。 1 观察者发布-订阅模式的构建 1.1 EventHandler系统定义的事件委托Handler,也就是处理事件的方法 C# Formworks 定义的事件定义在 System.EventHandler 中的委托包括事件发送者和发送的事件数据对象两个参数。 2 定义数据事件提供者类 定义了一个名为 DataEventProvider 的公共静态类 2.1.1 定义事件 DataChanged和事件的句柄接口  数据事件提供者首先要有一个事件这里就是DataChanged。 public static class DataEventProvider{public static event EventHandlerDataChangedEventArgs DataChanged;public static void OnDataChanged(IFrameOut newFrame){DataChanged?.Invoke(null, new DataChangedEventArgs(newFrame));}} 有了事件DataChanged同时还提供一个事件的接口也就是你要通知订阅的人发生了声明然后给粗发生的事情的证据数据 也就是出事了然后有这么一堆数据来说明和准备处理、 EventArgs 就是来说明什么事件的但他默认的定义是空的就等着你构建事件的时候自己去定义需要哪些证据。 在我们的案例里面我们就把EventArgs给泛型也就是说明白了那么通过EventHandlerDataChangedEventArgs把接口泛型到DataChangedEventArgs的定义里面如下 public class DataChangedEventArgs : EventArgs{public IFrameOut NewFrame { get; } //拿到数据public DataChangedEventArgs(IFrameOut newFrame){NewFrame newFrame; // 给到事件订阅者}} 在DataChangedEventArgs里面我们清楚的定义了一个IFrame的图像的处理数据拿到数据同时把数据传递给事件订阅者作为事件要处理的接口。 【案】        public static event EventHandlerDataChangedEventArgs DataChanged; DataChanged 是一个公共的静态事件。 他的定义详细如下 1 public static类级别的公共静态变量 2 event类型:是一种特殊的成员允许对象订阅和响应由其他对象发出的信号或消息。 3 为 EventHandlerDataChangedEventArgs。 EventHandler 第一节已经说了DataChangedEventArgs是EventHandler的泛型版本表示事件处理方法EventHandler将接受DataChangedEventArgs泛型定义的参数这里我们的DataChangedEventArgs是我们自己定义的一个类。派生于EventArgs因此他也依旧包括EventHandler已经有的相关的数据。 总之我们的定义了一个 公共的静态事件类型为 EventHandlerDataChangedEventArgs。这意味着它可以与任何符合 EventHandler 委托定义的方法关联并且这些方法将接收一个 DataChangedEventArgs 类型的参数。 2.1.2  定义事件的方法 OnDataChanged  【案】        public static void OnDataChanged(IFrameOut newFrame) OnDataChanged 是一个静态方法 这里接受了一个IFrameOut的参数。 DataChanged?.Invoke(null, new DataChangedEventArgs(newFrame)); 这里DataChanged为之前定义的事件名 1 条件运算符 C# 6引入的null条件运算符。它允许你在尝试调用对象的成员之前检查对象这里为事件源对象或者观察者是否为null。如果对象不是null就执行成员访问如果是null则不执行任何操作并且表达式的结果为null。 这样做的另外一个好处是线程安全。 2 Invoke 方法 Invoke 是 EventHandler 委托的实例方法用于触发事件。它接受两个参数第一个是事件源通常是一个对象实例第二个是包含事件数据的 EventArgs 类型的实例。我们之前定义的时候知道DataChangedEventArgs泛型继承了之前EventHandler 有的两个基本数据。在这个例子中Invoke 被用来触发 DataChanged 事件通知所有订阅者发生了数据变化。 3 观察者发布-订阅模式的使用  3.1定义一个观测者事件 例如我们在Form1订阅了这个事件 private void OnDataChanged(object sender, DataChangedEventArgs e) {// 拿到事件的参数数据IFrameOut frameOut e.NewFrame;// 后续进行处理} 3.2 注册一个观测者事件 事件的注册或者观测者通过将一个事件处理方法加到事件定义里面来注册 DataEventProvider.DataChanged OnDataChanged;3.3 触发一个事件发生 DataEventProvider.OnDataChanged(frameOut);3.4 取消观察 DataEventProvider.DataChanged - OnDataChanged;
http://www.hkea.cn/news/14265742/

相关文章:

  • 网站上展示手机页面是怎么做的制作一个景点的网站
  • 网站空间怎么做做美食网站有哪些
  • 网站搜索引擎优化方案《网站开发实例》pdf下载
  • 公司网站建设外包流程网络营销推广好做吗
  • 必要 网站越众做的绿色建筑的网站
  • 男女性做那个微视频网站wordpress解决大型访问
  • 毕业设计网站成品wordpress给公司建站
  • 九洲建设集团网站办一年宽带多少钱
  • 2008iis7怎么搭建网站财务软件哪个好
  • 刘强东自己做网站wordpress 自动回复
  • 阿里云 企业 网站企查查企业信息查询平台
  • 北京网站建公司新闻广告图片素材网
  • 网站怎么防黑客制作网络广告教学设计
  • 闵行网站建设外包网页设计师的主要工作
  • 怎么可以自己做网站被百度收到wordpress编辑模板
  • html网站模板资源深圳市官方网站
  • 蚌埠网站建设专业的公司4000-262-企业网站建设公司上海
  • 团购网站建设怎么样渭南网站建设公司电话
  • win7网站建设物流网站建设平台
  • 东城网站建设工作室目录搜索引擎网站
  • 响水做网站价格wordpress登录界面改哪个文件夹
  • 法律检索网站开发如何在网上推广
  • 温州模板建站公司做网站有什么专业术语
  • 网站建设基础条件小公司做网站的好处
  • 做企业网站一定要企业邮箱嘛鞍山 网站建设
  • 科技网站模板免费下载com域名注册
  • 沈阳微信网站建设东阳网络推广公司
  • 上海建站网站简洁案例电子商务网站建设精英
  • 网站模板大全下载国内欣赏电商设计的网站
  • 代码共享网站六安市 网站集约化建设