我一直在寻找2天的答案而且我真的被卡住了!我找到了这个question,但答案没有用。
我有一个jscript类WorkerClass
,它有一个函数PerformCalculation
,需要在一个单独的线程上运行,因为它无法在UI线程上运行。
这是我的解决方案:
CallerClass
private function PerformCalculation() {
var workerClass = new WorkerClass(parameter1, parameter2, parameter3);
var workDelegate : ThreadStart = new ThreadStart(workerClass.PerformCalculation);
var workerThread : Thread = new Thread(workDelegate);
workerThread.Start();
workerThread.Join();
}
我尝试了一些方法,例如:
PerformCalculation
功能放入CallerClass
PerformCalculation
函数放在单独的类中,即WorkerClass
PerformCalculation
函数private
,public
,static
并且没有访问修饰符(默认)var workerThread : Thread = new Thread(workerClass.PerformCalculation);
在前三个场景中,我收到了以下编译时错误:
Delegates should not be explicitly constructed, simply use the method name
,最后一个场景给出了以下编译时错误:
More than one constructor matches this argument list
您认为我的代码有什么问题,我该如何解决?
提前致谢!
答案 0 :(得分:1)
我认为错误消息清楚地说明需要做什么:构建委托,不要使用new
:
var workDelegate : ThreadStart = workerClass.PerformCalculation;