事件介绍
和 委托 类似,事件是后期绑定机制。 实际上,事件是建立在对 委托 的语言支持之上的。
事件是对象用于(向系统中的所有相关组件)广播已发生事情的一种方式。 任何其他组件都可以订阅事件,并在事件引发时得到通知。
许多图形系统都具有用于报告用户交互的事件模型。 这些事件会报告鼠标移动、按钮点击和类似的交互。 这是使用事件的最常见情景之一,但并非唯一的情景。
要使用事件首先就得定义委托,如下:
// 定义委托
public delegate void delegateTest();
然后再定义使用 event
关键字的事件:
// 定义事件
public event delegateTest eventTest;
对事件所依赖的事务赋值:
// 事件赋值
Program program = new Program();
program.eventTest = () => Console.WriteLine("我是事务中的方法");
调用事件:
// 调用事件
if(program.eventTest != null)
program.eventTest();
// 或者
program.eventTest.Invoke();
通过使用 +=
运算符增加订阅事件:
static void addMethod()
{
Console.WriteLine("我是增加的方法");
}
program.eventTest += addMethod;
使用 -=
运算符取消订阅:
program.eventTest -= addMethod;