C#事件支持发布者/订阅者模式,发布者将事件通知给订阅者,而订阅者在事件发生时调用已经注册好的事件处理函数。
public
delegate void
delUpdate(); //委托定义,相当于一个函数签名,函数指针
public
event delUpdate
ENotify; //定义事件,该事件引发此委托类型的事件处理函数
private int a = 2;
public int A
{
get { return a;
}
set
{
a =
value;
if (ENotify !=
null) //如果事件不等于空就是说有订阅者注册过该事件,比如:Publisher.getInstance().ENotify
+=new
Publisher.delUpdate(GetData);也就是说触发事件后有相应的事件处理函数被调用。
{
ENotify();
}
}
}
public
Observer()
{
Publisher.getInstance().ENotify +=new
Publisher.delUpdate(GetData);
}
public void
GetData()
{
oa =
Publisher.getInstance().A;
ob =
Publisher.getInstance().B;
oc =
Publisher.getInstance().C;
}
C#事件支持发布者/订阅者模式(观察者模式),布布扣,bubuko.com
原文:http://www.cnblogs.com/eric_ibm/p/3664503.html