1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace ConsoleApplication3 { class Program { static void Main( string [] args) { Customer c = new Customer(); c.OnChange += new EventHandler(c_OnChange); c.Change(); Console.Read(); } static void c_OnChange( object sender, EventArgs e) { Console.WriteLine( "事件被觸發了" ); } } class Customer { public event EventHandler OnChange; public void Change() { if (OnChange != null ) OnChange( this , null ); } } } |
值得了解的另外一個寫法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace ConsoleApplication3 { class Program { static void Main( string [] args) { Customer c = new Customer(); EventInfo evt = c.GetType().GetEvent( "OnChange" , BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public ); evt.AddEventHandler(c, new EventHandler(c_OnChange)); c.Change(); Console.Read(); } static void c_OnChange( object sender, EventArgs e) { Console.WriteLine( "事件被觸發了" ); } } class Customer { public event EventHandler OnChange; public void Change() { if (OnChange != null ) OnChange( this , null ); } } |