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).

questionAnswers(4)

yourAnswerToTheQuestion