概念
事件是类在发生其关注的事情时用来提供通知的一种方式。
类和对象可以通过事件向其他类或对象通知发生的相关事情。
事件发生着(Publisher):一个事件的发行者,也称为发送者(sender).其实就是个对象,这个对象会自行维护本身的状态信息,当本身的状态信息变动时,便出发一个事件,并通知所有事件订阅者。
事件订阅者(SUbscriber):对事件感兴趣的对象,也称为接受者(Recaiver),可以注册感兴趣的时间,在时间发行者触发一个事件后,会自动航执行这段代码。
声明事件
必须先声明该事件的委托,声明事件本身用event 关键字。
语法格式: 访问修饰符 event 委托标识符 事件标识符
class Program
{
public delegate int Del(int a);
static void Main(string[] args)
{
//类的实例
Class1 class1 = new Class1();
Class3 class3 = new Class3();
Class4 class4 = new Class4();
//添加事件
class1.H += class1.FF1;
class1.H += class3.FF2;
//调用方法
class1.FF1();
Console.ReadKey();
}
}
---------------------------------------------------
class Class1
{
public delegate void DEl();//声明委托
public event DEl H;//声明事件
public void FF1()
{
Console.WriteLine("方法一");
if (H !=null)
{
H();
}
}
}
class Class3
{
public void FF2()
{
Console.WriteLine("方法二");
}
}
class Class4
{
public void FF3()
{
Console.WriteLine("方法三");
}
}