gpt4 book ai didi

c++-cli - 订阅事件的 C++/CLI 语法是什么?

转载 作者:行者123 更新时间:2023-12-04 14:37:25 26 4
gpt4 key购买 nike

我正在更新一些旧的托管 C++ 代码,如下所示:

instanceOfEventSource->add_OnMyEvent( 
new EventSource::MyEventHandlerDelegate(this, MyEventHandlerMethod) );

在哪里
  • 事件源 是发布事件的类
  • instanceOfEventSource 是该类的一个实例
  • 事件源::MyEventHandlerDelegate 是事件的委托(delegate)类型
  • 我的事件处理程序方法 是当前类(其中“this”是一个实例)中的(非静态)方法,其签名匹配 EventSource::MyEventHandlerDelegate

  • 在 C++/CLI 中正确的语法是什么?

    最佳答案

    我刚刚花了半个小时试图弄清楚如何将静态方法注册为事件的回调方法。虽然 OP 没有特别要求注册静态方法,但这将有助于其他面临同样问题的人。这实际上非常简单,在这种情况下,委托(delegate)构造函数只为静态目标方法采用一个参数。

    例子:

    System::EventHandler^ h = gcnew System::EventHandler(&MyClass::MyStaticCallbackMethod);

    关于c++-cli - 订阅事件的 C++/CLI 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/489626/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com