5

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

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

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

1 回答 1

13

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.         ^^^^^^^^^^^^^^^^^^^^
于 2013-06-05T18:31:55.930 回答