事件
事件是基于委托的
关键字:event
使用
namespace ConsoleApp;// 委托 delegate 可以放在类外面,事件 event 不可以。
public delegate double CalculateFunction(double x, double y);class Program
{// 定义事件public static event CalculateFunction calFuncEvent;static double Add(double x, double y) => x + y;// 事件处理程序 Test3static double Test3(double x, double y){Console.WriteLine($"事件实现 Add >_<");return Add(x, y);}static void Main(string[] args){// 实例化委托(订阅)calFuncEvent += Test3;// 取消订阅// calFuncEvent -= Test3;// 激活事件calFuncEvent?.Invoke(12, 34);}
}
与委托的区别
委托是类型,事件是类型成员
事件是被限制了的委托