如何在托管c ++ 2010中向事件添加委托?

时间:2012-01-27 21:38:37

标签: c# delegates managed-c++

我在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的一些例子,但那些在2010年没有编译的。

如何在托管c ++ 2010中向事件添加委托?

1 个答案:

答案 0 :(得分:2)

假设OnTaskFinished在当前类中,并且该ref类的类型为MyClass。在这种情况下,你会写:

shedluer->OnTaskCompleted += gcnew Shedluer::TaskCompletedDelegate(this, &MyClass::OnTaskFinished);