using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 自定义事件
{
class Program
{
static void Main(string[] args)
{
Dog dog = new Dog();
Host host = new Host(dog);
dog.OnAlarm();
}
}
class Dog
{
//第一:声明关于事件的委托
public delegate void AlarmEventHandler();
//第二:声明事件
public event AlarmEventHandler Alarm;
//编写引发事件的函数
public void OnAlarm()
{
if(this.Alarm!=null)
{
Console.WriteLine("狗报警:有小偷来了,旺旺");
this.Alarm();
}
}
}
class Host
{
//第四:编写事件的处理程序
void HostHandeAlarm()
{ Console.WriteLine("主人:抓住小偷了!"); }
//第五:注册事件的处理程序
public Host(Dog dog)
{ dog.Alarm += new Dog.AlarmEventHandler(HostHandeAlarm); }
}
}
输出
狗报警:有小偷来了,旺旺
主人:抓住小偷了!