C#イベントを使用して変数値の変更を監視
5294 ワード
public
class
Program
02
{
03
//
04
private
int
myValue;
05
06
// ,
07
public
bool
MyValue
08
{
09
get
{
return
myValue; }
10
set
11
{
12
//
13
if
(value!=myValue)
14
{
15
WhenMyValueChange();
16
}
17
myValue = value;
18
}
19
}
20
21
//
22
public
delegate
void
MyValueChanged(
object
sender, EventArgs e);
23
//
24
public
event
MyValueChanged OnMyValueChanged;
25
26
//
27
public
Program()
28
{
29
myValue = 0;
30
OnMyValueChanged +=
new
MyValueChanged(afterMyValueChanged);
31
32
}
33
34
// ,
35
private
void
afterMyValueChanged(
object
sender, EventArgs e)
36
{
37
//do something
38
}
39
40
//
41
private
void
WhenMyValueChange()
42
{
43
if
(OnMyValueChanged !=
null
)
44
{
45
OnMyValueChanged(
this
,
null
);
46
}
47
}
48
}