C# 事件2

事件的本质是委托字段的一个包装器

  1.这个包装器对委托字段的访问起限制作用,相当于一个 蒙版。

  2.封装(encapsulation)的一个重要功能就是隐藏

  3.事件对外界隐藏了委托实例的大部分功能,仅暴露添加、移除事件处理器的功能

用于声明事件的委托类型的命名约定:

  用于声明FOO事件的委托,一般命名为FooEventHandler(除非是一个非常通用的事件约束)

  FooEventHandler委托的参数一般有两个

  1、第一个是object类型,名字为sender,实际上就是事件的拥有者、事件的source.

  2、第二个是EventArgs类的派生类,类名一般为FooEventArgs,参数名为e,也就是前面讲过的事件参数。

  3、我们可以把委托的参数列表看做是事件发生后发送给事件响应者的“事件消息”。

触发Foo事件的方法一般命名为OnFoo,级“因何引发“、”事出有因“

  访问级别为protected,不能为public,不然又成了可以“借刀杀人”。

事件的命名约定:

1.带有时态的动词或者动词短语

2。事件拥有者"正在做"什么事情,用进行时,事件拥有者做完了声明事情,用完成时。

原文地址:https://www.cnblogs.com/bedfly/p/11756259.html