大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

WPF 4.5中的弱事件模式

作者:billionnet 发布于:2012/5/29 17:49:35 点击量:

弱事件对于WPF和Silverlight中使用的样式数据绑定而言,一直是一门重要的内存管理技术。前者WPF甚至提供了一个WeakEventManager基类以供使用。不幸的是,弱事件模式对于事件源和事件处理器两者都相当麻烦。开发人员不仅必须要为每一个事件类型创建一个自定义的WeakEventManager子类,还得为事件处理器实现匹配的监听器接口。当你需要监控几个对象上的相同事件,并且不得不为每一个对象使用不同的事件处理器时,结果会特别令人沮丧。

.NET 4.5让这件事情变得简单了多。它为WPF开发人员提供了泛型版本的WeakEventManager。使用该泛型版本不仅不需要实现事件的具体子类,还免去了使用监听器接口的必要。库的内部实际上使用了反射来连接事件,因此它的性能和其他替代方案相比并不是非常好。

这种新的方法也不是毫无限制。和原有的类一样,新的弱事件管理器在Silverlight中并不可用,这反过来使得代码共享变得非常困难。另外,它还是继续约束在调度线程(dispatcher thread)中,这使得它无法被用在非WPF的应用程序中。后面,事件引用是根据名称而不是类型。

InfoQ邀请您在评论中发表自己最喜爱的弱事件实现。



分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明