在C ++ / CLI中有什么方法可以执行以下操作吗? (我认为答案是否定的,因为没有行动支持?)
public ref class MyClass {
public:
void TaskMethod();
void Start();
}
void MyClass::Start() {
Task^ myTask = Task::Factory->StartNew(??TaskMethod??);
}
答案 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. ^^^^^^^^^^^^^^^^^^^^