namespace 委托和事件
{
using System;
//发布器——定义委托和事件
public class EventTest
{
//1、定义委托
public delegate void MyeventHandle();
//2、根据委托定义事件
public event MyeventHandle MyEvent;
//3、定义触发事件的函数
public void CauseEvent()
{
Console.WriteLine("事件发生了");
MyEvent();//触发事件
}
}
//订阅器——回调函数
public class Subscriber
{
//4、回调函数
public void CallBack1()
{
Console.WriteLine("调用了订阅器中的回调函数1");
}
public void CallBack2()
{
Console.WriteLine("调用了订阅器中的回调函数2");
}
}
//注册和演示
public class MainClass
{
public static void Main()
{
//5、为事件注册回调函数
//=>事件触发后,自动调用注册了的回调函数
EventTest e = new EventTest();
e.MyEvent += new EventTest.MyeventHandle(new Subscriber().CallBack1); //注册
e.CauseEvent();
e.MyEvent += new EventTest.MyeventHandle(new Subscriber().CallBack2); // 注册
e.CauseEvent();
}
}
}
C# 委托和事件的演示代码
于 2022-06-07 15:21:16 首次发布