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
);
}
}
|