当A事件发生后,执行B事件,则称B订阅A。
代码:
using System;
namespace test
{
class TestDelegateAndEvent
{
static void Main(string[] args)
{
TriggerClass tr = new TriggerClass();
SubscibeClass su = new SubscibeClass();
//订阅消息
tr.myEvent += su.Subscribe;//添加订阅方法,此时tr.myEvent!=null
tr.Trigger();
Console.Read();
}
}
public class TriggerClass
{
//声明委托
public delegate void myDelegate();
//声明事件,事件类型是myDelegate
public event myDelegate myEvent;
public void Trigger()
{
//发布消息
Console.Write("我说:鸡蛋\n");
if (myEvent != null)
{
myEvent();
}
}
}
public class SubscibeClass
{
public void Subscribe()
{
Console.Write("你说:要");
}
}
}