فهرست منبع

Add EventHandlerList.cs

svn path=/trunk/mcs/; revision=402
Miguel de Icaza 24 سال پیش
والد
کامیت
ff28f75cc7
1فایلهای تغییر یافته به همراه64 افزوده شده و 0 حذف شده
  1. 64 0
      mcs/class/System/System.ComponentModel/EventHandlerList.cs

+ 64 - 0
mcs/class/System/System.ComponentModel/EventHandlerList.cs

@@ -0,0 +1,64 @@
+//
+// System.ComponentModel.EventHandlerList.cs
+//
+// Author:
+//   Miguel de Icaza ([email protected])
+//
+// (C) Ximian, Inc.  http://www.ximian.com
+//
+
+using System;
+using System.Collections;
+
+namespace System.ComponentModel {
+
+	// <summary>
+	//   List of Event delegates.
+	// </summary>
+	//
+	// <remarks>
+	//   Longer description
+	// </remarks>
+	public class EventHandlerList : IDisposable {
+		Hashtable table;
+		
+		public EventHandlerList ()
+		{
+		}
+
+		public Delegate this [object key] {
+			get {
+				if (table == null)
+					return null;
+
+				return (Delegate) table [key];
+			}
+
+			set {
+				if (table == null)
+					table = new Hashtable ();
+
+				table.Add (key, value);
+			}
+		}
+
+		public void AddHandler (object key, Delegate value)
+		{
+			if (table == null)
+				table = new Hashtable ();
+
+			table.Add (key, value);
+		}
+
+		public void RemoveHandler (object key, Delegate value)
+		{
+			table.Remove (key);
+		}
+
+		public void Dispose ()
+		{
+			table = null;
+		}
+	}
+	
+}