c# multithreading 方法名称预期

标签 c# multithreading methods

我正在尝试创建一个循环,为列表中的每个程序创建一个线程,但在下面的代码中传递边界时出现“预期方法名称”错误;

for (i = 0; i <= programs.Count; i++)
{
    checkProcess check = new checkProcess();
    // check.isRunning();

    string filename = programs[i].Filename;
    string filepath = programs[i].Filepath;

    mWorkerThread = new Thread(new ThreadStart(check.isRunning(filename, filepath)));

    mWorkerThread.Start();
}

我阅读了一些关于委托(delegate)的内容,但似乎无法让他们在我的问题上下文中工作。对于我应该朝哪个方向提供任何帮助,我们将不胜感激。

最佳答案

线程目标应该是可执行的而不是你的方法的结果。

mWorkerThread = new Thread(new ThreadStart(check.isRunning(filename, filepath)));

在您上面的例子中,您尝试使用 check.IsRunning(...)返回值 创建 ThreadStart 的新实例>。你想要的是像

mWorkerThread = new Thread( () => check.isRunning(filename, filepath) );

关于c# multithreading 方法名称预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176531/

相关文章:

c# 使用基类中的 setter 或 getter

c# - Swig:如何将生成的 C# 类的可访问性从 `public class` 更改为 `internal class`

c - 将时间值作为用户的输入,并在多个线程中调整等于该时间的延迟

java - 从 Java 中的另一个类调用方法不起作用?

java - 我正在创建一个刽子手程序,但我在单词更新方法方面遇到了一些问题

c# - 二进制转整数的字符串

c# - 替换 XElement 中的元素会中断 foreach 循环

c# - EF Core 与 Postgres 正在生成负主键

c++ - 将函数调用保存在容器中

java - 如何在 JavaFX 中显示我自己的线程中的新舞台?