如何在托管 c++ 2010 中向事件添加委托?
Posted
技术标签:
【中文标题】如何在托管 c++ 2010 中向事件添加委托?【英文标题】:How do I add a delegate to event in managed c++ 2010? 【发布时间】:2012-01-27 21:38:37 【问题描述】:我在 c# 中有以下代码
public class Shedluer
public delegate void TaskCompletedDelegate(ulong taskId);
public static event TaskCompletedDelegate OnTaskCompleted;
这是我尝试在 c++.net 中使用它的方式:
shedluer->OnTaskCompleted+=gcnew Shedluer::TaskCompletedDelegate(OnTaskFinished);
其中 OnTaskFinished 是在 ref 类中声明的非静态方法。
我看过一堆 c++.net 2007 的示例,但这些示例无法在 vs 2010 中编译。
【问题讨论】:
Shedluer
?那应该是“调度程序”吗?
【参考方案1】:
假设OnTaskFinished
在当前类中,并且该引用类是MyClass
类型。在这种情况下,你会写:
shedluer->OnTaskCompleted += gcnew Shedluer::TaskCompletedDelegate(this, &MyClass::OnTaskFinished);
【讨论】:
以上是关于如何在托管 c++ 2010 中向事件添加委托?的主要内容,如果未能解决你的问题,请参考以下文章
我想从 C++ 非托管代码调用 C# 委托。无参数委托工作正常,但有参数委托使我的程序崩溃