- 创建委托事件(发布者)
public class Event:EventArgs//事件信息继承类
{
public string Msg;
public Event(string msg)
{
Msg = msg;
}
}
public class Marry : EventArgs
{
public string MSG = string.Empty;
public delegate void EventHandler(object s, Event e);
public EventHandler MarrtEvent;
public void Send(string msg)
{
if (msg!=null)
{
MarrtEvent(this, new Event( msg ));
}
}
}
订阅者
public class Friends
{
public string Name = string.Empty;
public Friends(string name)
{
Name = name;
}
public void Receive(object s, Event e)
{
Console.WriteLine(e.Msg);
Console.WriteLine(this.Name + "准时参加");
}
}
实例化
class Program
{
static void Main(string[] args)
{
Marry marry = new Marry();
Friends f1 = new Friends("张三");
Friends f2 = new Friends("李四");
marry.MarrtEvent += f1.Receive;
marry.MarrtEvent += f2.Receive;
marry.Send("过来吃饭");
Console.ReadKey();
}
}