首页 > 解决方案 > C# 为什么分配事件处理程序使用 += 运算符而不是 =

问题描述

也许我在谷歌上搜索得不够努力,但我想在分配事件时理解语法“+=”。例如我们使用:

myButton.Click += MyClickEvent;

而不是:

myButton.Click = MyClickEvent;

为什么会这样?这里有一些数学吗?为什么要添加地址?

标签: c#eventsdelegatescompound-assignment

解决方案


一个事件可以有多个处理程序,因此它不是分配而是订阅。
您可以执行以下操作,并且将调用所有处理程序。

myButton.Click += MyClickEvent;
myButton.Click += MyClickEvent1;
myButton.Click += MyClickEvent2;

取消订阅事件使用

myButton.Click -= MyClickEvent2;

推荐阅读