/*发布器*/
public class EventTest
{
private int value;
public delegate voidNumManipulationHandler();
pubic event NumManipulationHandler ChangeNum;
protected virtual voidOnNumChanged(){if(ChangeNum != null){ChangeNum();}else{
Console.WriteLine("event not fire");
Console.ReadKey();}}
public EventTest(){int n=5;SetValue(n);}
public voidSetValue(int n){if(value !=n){
value = n;OnNumChanged();}}}/*订阅器*/
public clasee subscribEvent
{
public voidprintf(){
Console.WriteLine("event fire");
Console.ReadKey();}}
public class MainClass
{
public staticvoidMain(){
EventTest e =new EventTest();/* 实例化发布器*/
subscribEvent v = new subscribEvent();/* 实例化订阅器*/
e.ChangeNum += New EventTest.NumManipulationHandler(v.printf);/*注册*/
e.SetValue(7);/*触发*/
e.SetValue(11);/*触发*///e.ChangeNum -= EventTest.NumManipulationHandler(v.printf);/*注销*/}}