前言:此篇章例子为点单事件
image.pngimage.png

自定义委托:

●如果委托是为了声明某个事件而准备的委托,就要使用:事件名 + EventHandler作为后缀

这么做有什么好处? ①程序员默认知道这个委托是专门用来声明事件的,不会去拿这个委托去干别的事。比如:不会作为方法的参数,写在参数列表中。 ②可读性强。 ③EventHandler这个单词本身也是事件平台当中一个非常通用的委托类型。

image.png

sender告诉我们消息是谁发送过来的(事件拥有者) Eventargs或者其派生类告诉我们传递过来的事件里面是什么内容

  1. public delegate void OrderEventHandler(Customer _customer, OrderEventArg _e);

创建一个用来传递事件参数(事件信息、消息)属于EventArgs这个类,
即名字:事件名 + EventArgs作为后缀
派生自EventArgs这个类型,也是微软、厂商为我们准备好的一个基类

  1. public class OrderEventArg : EventArgs
  2. {
  3. public string CoffeeName { get; set; }
  4. public string CoffeeSize { get; set; }
  5. public float CoffeePrice { get; set; }
  6. }

事件是不是委托类型的字段呢?不是不是