X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem%2FSystem.ComponentModel%2FEventHandlerList.cs;h=7dabcb3e2c3abf3a84a19eae4abd5031ecc412b5;hb=48d09aa40cba4b63e7282ed0f0492d6ff952779f;hp=06211f320a23c721c6e8d2a26806d9682d01d5a2;hpb=72d2aae2e266903d4fde14ad45186fa1641e129d;p=mono.git diff --git a/mcs/class/System/System.ComponentModel/EventHandlerList.cs b/mcs/class/System/System.ComponentModel/EventHandlerList.cs index 06211f320a2..7dabcb3e2c3 100644 --- a/mcs/class/System/System.ComponentModel/EventHandlerList.cs +++ b/mcs/class/System/System.ComponentModel/EventHandlerList.cs @@ -42,8 +42,6 @@ namespace System.ComponentModel { // Longer description // public sealed class EventHandlerList : IDisposable { - Hashtable table; - public EventHandlerList () { head = null; @@ -70,6 +68,19 @@ namespace System.ComponentModel { entry.value = Delegate.Combine (entry.value, value); } +#if NET_2_0 + public void AddHandlers (EventHandlerList listToAddFrom) + { + if (listToAddFrom == null) { + return; + } + + for (ListNode entry = listToAddFrom.head; entry != null; entry = entry.next) { + AddHandler (entry.key, entry.value); + } + } +#endif + public void RemoveHandler (object key, Delegate value) { ListNode entry = FindEntry (key); @@ -85,9 +96,6 @@ namespace System.ComponentModel { } private ListNode FindEntry (object key) { - if (key == null) - throw new ArgumentNullException ("key", "Attempted lookup for a null key."); - for (ListNode entry = head; entry != null; entry = entry.next) if (key == entry.key) return entry;