C ++ / CLI中的任务StartNew操作

时间:2013-06-05 16:51:47

标签: c++-cli action task

在C ++ / CLI中有什么方法可以执行以下操作吗? (我认为答案是否定的,因为没有行动支持?)

public ref class MyClass {
public:
    void TaskMethod();
    void Start();
}

void MyClass::Start() {
    Task^ myTask = Task::Factory->StartNew(??TaskMethod??);
}

1 个答案:

答案 0 :(得分:11)

Action只是一个委托,在C ++ / CLI中完全支持。 (你可能会将它与lambdas混淆,后者在C ++ / CLI中没有支持。)

以下是在C ++ / CLI中创建委托的语法。

Task^ myTask = Task::Factory->StartNew(gcnew Action(this, &MyClass::TaskMethod));
// For non-static methods, specify the object.      ^^^^ 
// Use the C++-style reference to a class method.         ^^^^^^^^^^^^^^^^^^^^