3 public delegate void MyDelegate(); // delegate declaration
7 event MyDelegate MyEvent
;
11 public class MyClass
: I
13 public event MyDelegate MyEvent
;
15 public void FireAway()
22 public class MainClass
24 static private void f()
26 Console
.WriteLine("This is called when the event fires.");
29 static public void Main ()
33 i
.MyEvent
+= new MyDelegate(f
);
40 using System
.Collections
;
42 public delegate void MyDelegate1(int i
);
43 public delegate void MyDelegate2(string s
);
44 public delegate void MyDelegate3(int i
, object o
);
45 public delegate void MyDelegate4();
47 public class PropertyEventsSample
49 private Hashtable eventTable
= new Hashtable();
51 public event MyDelegate1 Event1
55 eventTable
["Event1"] = (MyDelegate1
)eventTable
["Event1"] + value;
59 eventTable
["Event1"] = (MyDelegate1
)eventTable
["Event1"] - value;
63 public event MyDelegate1 Event2
67 eventTable
["Event2"] = (MyDelegate1
)eventTable
["Event2"] + value;
71 eventTable
["Event2"] = (MyDelegate1
)eventTable
["Event2"] - value;
75 public event MyDelegate2 Event3
79 eventTable
["Event3"] = (MyDelegate2
)eventTable
["Event3"] + value;
83 eventTable
["Event3"] = (MyDelegate2
)eventTable
["Event3"] - value;
87 public event MyDelegate3 Event4
91 eventTable
["Event4"] = (MyDelegate3
)eventTable
["Event4"] + value;
95 eventTable
["Event4"] = (MyDelegate3
)eventTable
["Event4"] - value;
99 public event MyDelegate3 Event5
103 eventTable
["Event5"] = (MyDelegate3
)eventTable
["Event5"] + value;
107 eventTable
["Event5"] = (MyDelegate3
)eventTable
["Event5"] - value;
111 public event MyDelegate4 Event6
115 eventTable
["Event6"] = (MyDelegate4
)eventTable
["Event6"] + value;
119 eventTable
["Event6"] = (MyDelegate4
)eventTable
["Event6"] - value;
126 public static void Main()
134 public delegate void MyDelegate1();
138 event MyDelegate1 MyEvent
;
141 public delegate int MyDelegate2(string s
);
145 event MyDelegate2 MyEvent
;
148 public class ExplicitEventsSample
: I1
, I2
150 public event MyDelegate1 MyEvent
; // normal implementation of I1.MyEvent.
152 event MyDelegate2 I2
.MyEvent
// explicit implementation of I2.MyEvent
156 MyEvent2Storage
+= value;
160 MyEvent2Storage
-= value;
164 private MyDelegate2 MyEvent2Storage
; // underlying storage for I2.MyEvent.
166 private void FireEvents()
170 if (MyEvent2Storage
!= null)
171 MyEvent2Storage("hello");
177 public static void Main()