plus equals(+ =)运算符在这里意味着什么?

Pra*_*een 17 c# windows-phone

我正在编写Windows手机的示例代码,我经常看到+=运营商的声明.

我知道添加赋值运算符,它执行以下操作

+= means a = a + b;  // used for both adding number and string concatenation
Run Code Online (Sandbox Code Playgroud)

但这对我来说是新的

phNumChoseTask = new PhoneNumberChooserTask();
phNumChoseTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
Run Code Online (Sandbox Code Playgroud)

这里怎么样+=

NVa*_*hev 14

在当前的背景下+=意味着subscribe.换句话说,就像你说的那样subscribe my method (the right operand) to this event (the left operand),这样一来,当事件被提出时,你的方法就会被调用.此外,这是一个很好的做法unsubscribe(-=从这个事件,当你完成你的工作(但在你处置你的对象之前),以防止你的方法被调用,并防止资源泄漏.FMI看这里.


Ven*_*h K 8

+= 运算符用于指定为响应事件而调用的方法;此类方法称为事件处理程序。在此上下文中使用 += 运算符称为订阅事件。

其他用法,还可以用作赋值运算符:

a=a+b;
Run Code Online (Sandbox Code Playgroud)

可以写成

 a+=b;
Run Code Online (Sandbox Code Playgroud)


Far*_*yev 3

它正在创建一个指向phoneNumberChooserTask_Completed的委托(指针) ,并将其添加到Completed 的“事件处理程序”列表中。

- =将从事件中删除事件处理程序。

注意:委托在事件中执行相同的方式,因此您可以对委托或事件进行多个分配,并且当执行委托或事件时,将执行所有分配。