如何在Jscript .NET中的新线程中运行方法

时间:2012-07-31 07:20:04

标签: .net multithreading jscript jscript.net

我一直在寻找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函数privatepublicstatic并且没有访问修饰符(默认)
  • 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


您认为我的代码有什么问题,我该如何解决?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为错误消息清楚地说明需要做什么:构建委托,不要使用new

var workDelegate : ThreadStart = workerClass.PerformCalculation;