【问题标题】:What is the difference between "= gcnew" and "+= gcnew"?“= gcnew”和“+= gcnew”有什么区别?
【发布时间】:2015-09-24 09:46:14
【问题描述】:

请考虑以下代码行:

port->DataReceived += gcnew SerialDataReceivedEventHandler(DataReceivedHandler);

前面的+gcnew 关键字一起使用有什么区别?

【问题讨论】:

  • 在这段代码中,修改了委托DataReceived的调用列表。

标签: c++-cli


【解决方案1】:

+= 运算符不适用于 gcnew 运算符,但适用于 DataReceived 事件。您正在使用 'gcnew' 运算符在托管堆上实例化一个新的 SerialDataReceivedEventHandler 委托,并且您正在使用 += 运算符将其添加到 DataReceived 事件的调用列表中。

【讨论】:

  • 基本正确。当您将+= 与委托一起使用时,就会发生这种情况。对于事件,将调用与该事件关联的 add 方法,按照惯例,它会添加到调用列表中,但不是必须的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2023-04-03
  • 2017-05-11
  • 2012-11-10
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
相关资源
最近更新 更多