Ein Argument an die Task in C ++ / CLI übergeben?
Ich habe diesen Code für das C # in Visual Studio 2012.
public Task SwitchLaserAsync(bool on)
{
return Task.Run(new Action(() => SwitchLaser(on)));
}
Dies wird ausgeführtSwitchLaser
method (öffentliches nichtstatisches Mitglied einer KlasseMyClass
) als Task mit Argument bool on.
Ich möchte etwas Ähnliches in verwaltetem C ++ / CLI tun. Ich kann jedoch nicht herausfinden, wie eine Task ausgeführt wird, die eine Member-Methode mit einem Parameter ausführt.
Die aktuelle Lösung sieht folgendermaßen aus:
Task^ MyClass::SwitchLaserAsync( bool on )
{
laserOn = on; //member bool
return Task::Run(gcnew Action(this, &MyClass::SwitchLaserHelper));
}
Implementierung vonSwitchLaserHelper
Funktion:
void MyClass::SwitchLaserHelper()
{
SwitchLaser(laserOn);
}
Es muss eine Lösung wie in C # geben und keine Hilfsfunktionen und Member erstellen (dies ist nicht threadsicher).