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