码迷,mamicode.com
首页 > 其他好文 > 详细

EventHandlerList事件字典集合类的使用

时间:2017-02-16 22:20:10      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:key   rem   创建   void   one   csharp   事件对象   this   实例   

 

   EventHandlerList

      

主要成员
 public void AddHandler(object key, Delegate value);//将一个委托添加到集合中,使用key作为标记
 public void AddHandlers(EventHandlerList listToAddFrom);//将一个委托从集合中remove
 public Delegate this[object key] { get; set; }//通过使用事件的key获取事件

  

        在创建众多个事件的时候,为了节约资源,使用EventHandlerList进行统一管理,

        当需要事件的时候就使用EventhandelrList实例.AddHandler(keys,Delete)将委托添加进去,

        也可以使用EventhandelrList实例.RemoveHandler(keys,Delete)将委托删除,

        想使用事件的时候,可以通过Key来取得创建的委托

 

  
          System.ComponentModel.EventHandlerList eventHandlerList = new System.ComponentModel.EventHandlerList();
            eventHandlerList.AddHandler("key1",new MyDelete(new Component().SayHello));
            eventHandlerList.AddHandler("key2", new MyDelete(new Component().SayHi));
//eventHandlerList.RemoveHandler("key2",new MyDelete(new Component().SayHi));

MyEventHandler +=(MyDelete)eventHandlerList["key1"]; MyEventHandler += (MyDelete)eventHandlerList["key2"]; MyEventHandler();

     *总结:通过EventHandlerList可以在一个集合中管理多个对象,节省了事件对象占用的空间

EventHandlerList事件字典集合类的使用

标签:key   rem   创建   void   one   csharp   事件对象   this   实例   

原文地址:http://www.cnblogs.com/whbk/p/6407333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!