Передать аргумент в задачу в C ++ / CLI?
У меня есть этот код для C # в Visual Studio 2012.
public Task SwitchLaserAsync(bool on)
{
return Task.Run(new Action(() => SwitchLaser(on)));
}
Это выполнитSwitchLaser
метод (открытый нестатический член классаMyClass
) как задание с аргументом bool on.
Я хотел бы сделать нечто подобное в управляемой C ++ / CLI. Но я не могу узнать, как запустить задачу, которая будет выполнять метод-член, принимающий один параметр.
Текущее решение выглядит так:
Task^ MyClass::SwitchLaserAsync( bool on )
{
laserOn = on; //member bool
return Task::Run(gcnew Action(this, &MyClass::SwitchLaserHelper));
}
РеализацияSwitchLaserHelper
функция:
void MyClass::SwitchLaserHelper()
{
SwitchLaser(laserOn);
}
Должно быть какое-то решение, как в C #, и не создавать вспомогательные функции и члены (это не потокобезопасно).