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

php做的卖水果网站王烨岚

php做的卖水果网站,王烨岚,桂林网,杭州app开发制作公司自定义的事件管理器 周银辉 大多数框架下都提供了事件管理器的#xff0c;但不使用框架时为了让事件发送者和事件接收者之间解耦#xff0c;就可以如下写个简单的 public enum EventAdministratorEventTypes{ApplicationStartup, //在这里添加你需要的事件}public class Even…            自定义的事件管理器               周银辉   大多数框架下都提供了事件管理器的但不使用框架时为了让事件发送者和事件接收者之间解耦就可以如下写个简单的 public enum EventAdministratorEventTypes{ApplicationStartup, //在这里添加你需要的事件}public class EventAdministratorEventArgs : EventArgs{public object Arg{get;protected set;}public EventAdministratorEventArgs(object arg){Arg arg;}}public class EventAdministrator{private static EventAdministrator instance;public static EventAdministrator Instance{get { return instance ?? (instance new EventAdministrator()); }}/// summary/// 用于存储event和它对于的回调函数列表的字典(event 和 callback是一对多的关系)/// /summaryprivate readonly DictionaryEventAdministratorEventTypes, ListEventHandlerEventAdministratorEventArgs eventAndCallbackBuffer new DictionaryEventAdministratorEventTypes, ListEventHandlerEventAdministratorEventArgs();private void AddCallbackForEvent(EventAdministratorEventTypes eventName,EventHandlerEventAdministratorEventArgs callback){if (!eventAndCallbackBuffer.ContainsKey(eventName)){eventAndCallbackBuffer.Add(eventName, new ListEventHandlerEventAdministratorEventArgs());}var callbackList eventAndCallbackBuffer[eventName];//添加时判定不存在为了防止多次注册后引起多次调用回调函数if (!callbackList.Contains(callback)){callbackList.Add(callback);}}/// summary/// 注册为事件接受者/// /summary/// param nameeventName事件名称/param/// param namecallback事件发生时的回调函数/parampublic void Register(EventAdministratorEventTypes eventName, EventHandlerEventAdministratorEventArgs callback){AddCallbackForEvent(eventName, callback);}/// summary/// 触发一个事件/// /summary/// param namesender触发者/param/// param nameeventName事件名称/param/// param nameargs触发该事件时所带的参数/parampublic void Send(object sender, EventAdministratorEventTypes eventName, EventAdministratorEventArgs args){if (!eventAndCallbackBuffer.ContainsKey(eventName)){Logger.Warning(EventAdministrator:事件eventName被触发但没有任何对象注册该事件. 导致这个情况的原因可能有代码中没有调用相应的Register函数来注册该事件 或者 事件的Send函数发生在Register之前);return;}var callbackList eventAndCallbackBuffer[eventName];foreach (var callback in callbackList){callback.Invoke(sender, args);}}} }
http://www.pierceye.com/news/933312/

相关文章:

  • 中铁建设集团门户网站登陆翻页h5制作软件
  • 在线教育网站建设策划中国哪里在大建设
  • 宁波网站制作首荐荣盛网络好网站后台发布了但看不见
  • 用asp做网站出现空白30天网站建设全程实录 pdf
  • 吉林3厅官齐聚任免大会宁波网站建设广州活动策划公司排名
  • 个人阿里云账号可以做网站备案ip网址域名查询网
  • 厦门的企业网站企业形象网站建设意义
  • 网站源码网网站建设 制作教程
  • 怎么样销售关于网站建设网站服务器过期了怎么办
  • 常州建网站需要多少钱直播app开发费用
  • hpsocket 网站开发英文网站cms
  • 外贸自建站有哪些网站开发有哪几类
  • 青岛网站建设推广短视频运营是做什么的
  • 华为官方网站进入wordpress单页增加分页
  • 互动营销型网站建设大型网站建设开发设计公司
  • 锦州建设局网站商城网站建设方案电子版
  • 网站上删除信息如何做飞虎队网站建设
  • 中国有多少个网站网站做视频一个月有多少钱收入
  • 网站文字大小普洱市建设局网站
  • 兰州网站建设小程序凡客网站目录优化
  • 宿州科技网站建设一站式网站管家
  • 网站开发模块学些什么郑州网站建设动态
  • 各类设计型网站wordpress 防注入
  • 网站中有一个非常著名的原则如何与老板谈网站建设
  • 免费十八种禁用网站如何做一个网页布局
  • cms仿站pc网站案例
  • dede如何做手机网站哪些客户需要做网站
  • 阜蒙县建设镇官方网站那种网站2021
  • 同信.长春网站建设北京网站建设策划
  • 长沙游戏网站开发开发人员公众号