Przekazać argument do zadania w C ++ / CLI?
Mam ten kod dla C # w Visual Studio 2012.
public Task SwitchLaserAsync(bool on)
{
return Task.Run(new Action(() => SwitchLaser(on)));
}
To się wykonaSwitchLaser
metoda (publiczny niestacjonarny członek klasyMyClass
) jako zadanie z argumentem bool on.
Chciałbym zrobić coś podobnego w zarządzanym C ++ / CLI. Ale nie jestem w stanie dowiedzieć się, jak uruchomić zadanie, które wykona metodę składową z jednym parametrem.
Obecne rozwiązanie wygląda następująco:
Task^ MyClass::SwitchLaserAsync( bool on )
{
laserOn = on; //member bool
return Task::Run(gcnew Action(this, &MyClass::SwitchLaserHelper));
}
WdrożenieSwitchLaserHelper
funkcjonować:
void MyClass::SwitchLaserHelper()
{
SwitchLaser(laserOn);
}
Musi istnieć jakieś rozwiązanie, jak w C #, a nie tworzenie funkcji pomocniczych i członków (nie jest to ochrona wątków).