using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PublisherEvent
{
class Publisher//出版社
{
public delegate void Publish();//定义一个委托类型Publish
public event Publish OnPublish;//声明OnPublish事件
public void issue()//触发事件的方法
{
if (OnPublish != null)
{
Console.WriteLine("发行刊物");
OnPublish();//事件触发
}
else
{
Console.WriteLine("Error");
}
}
}
class Subscriber//订阅者
{
public void Receive()//在事件订阅者中定义事件处理程序
{
Console.WriteLine("订阅者已经收到了刊物");
}
}
class Story
{
static void Main()
{
Publisher Pub=new Publisher();
Subscriber zs=new Subscriber();
Pub.OnPublish += new Publisher.Publish(zs.Receive);//向事件发行者订阅一个事件
Pub.issue();//触发事件
}
}
}