我正在制作Windows手机的示例代码,我经常会看到+=
运营商的声明。
我知道添加赋值运算符,它执行以下操作
+= means a = a + b; // used for both adding number and string concatenation
但这对我来说是新的
phNumChoseTask = new PhoneNumberChooserTask();
phNumChoseTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);
+=
如何运作?
答案 0 :(得分:13)
在当前上下文中,+=
表示subscribe
。换句话说,就像你告诉subscribe my method (the right operand) to this event (the left operand)
一样,这样,当事件被提出时,你的方法就会被调用。此外,当您完成工作(但在处理对象之前)时,unsubscribe
(-=
是一个很好的做法,以防止您的方法被调用并防止资源泄漏.FMI看here。
答案 1 :(得分:3)
+ =运算符用于指定将响应事件而调用的方法;这种方法称为事件处理程序。在此上下文中使用+ =运算符称为订阅事件。
其他用法,它也可以用作赋值运算符:
a=a+b;
可以写成
a+=b;
答案 2 :(得分:2)
正在创建 phoneNumberChooserTask_Completed 的委托(指针) 并将其添加到已完成的“事件处理程序”列表中。
- = 将从事件中删除事件处理程序。
注意:代理在事件中执行相同的方式,因此您可以对委托或事件进行多次分配,并且在执行委托或事件时,将执行所有分配。
答案 3 :(得分:0)
这意味着'将新的事件处理程序附加(或让我们分配)到phNumChoseTask。您也可以通过' - ='以编程方式分离它。