C# 事件
定义
事件是类或对象可以通知其他类或对象发生的相关事情。
事件可以分为发布器和订阅器两个部分,其中发布器是一个包含事件和委托的对象,事件和委托之间的联系也定义在这个类中,发布器类的对象可以触发事件,并使用委托通知其他的对象;订阅器则是一个接收事件并提供事件处理程序的对象,发布器类中的委托调用订阅器类中的方法(事件处理程序)。
使用
- 为该事件声明一个委托类型。
- 声明一个事件。
- 写一个与委托返回值和参数类型一样的方法。
- 方法与事件关联(+=)。
- 使用事件。
示例:
using System;
namespace 委托的同步_异步
{
class Program
{
static void Main(string[] args)
{
Com cc = new Com();
//4.关联事件
cc.EventPrint += ShowMsg;
cc.Test();
Console.ReadKey();
}
//3.与委托一致的方法
static void ShowMsg(string msg)
{
Console.WriteLine(msg);
}
}
//1.声明委托
public delegate void PrintHander(string text);
public class Com
{
//2.声明事件
public event PrintHander EventPrint;
public void Test()
{
Console.WriteLine("着火了");
EventPrint("打119通知消防员");
}
}
}