无法使用实例引用访问; 用类型名称来限定它

Jor*_*nor 15 c# multithreading

使用示例1:在此MSDN教程中创建,启动和交互线程,更具体地说是第3行到第7行Main()

我有以下代码,出现以下错误:

无法使用实例引用访问; 用类型名称来限定它.

Program.cs中

public static ThreadTest threadTest = new ThreadTest();
private static Thread testingThread = new Thread(new ThreadStart(threadTest.testThread()));
static void Main(string[] args)
{

}
Run Code Online (Sandbox Code Playgroud)

ThreadTest.cs

public static void testThread()
{
}
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 27

testThread是一个静态方法,因此可以通过类型名称获得.因此,threadTest使用ThreadTest类型而不是使用isntance .

// public static void testThread()
testingThread = new Thread(new ThreadStart(ThreadTest.testThread));
Run Code Online (Sandbox Code Playgroud)

或者更改方法声明(删除static):

// public void testThread()
testingThread = new Thread(new ThreadStart(threadTest.testThread));
Run Code Online (Sandbox Code Playgroud)

你也应该传递方法委托ThreadTest.testThread(删除括号)而不是传递方法invokation的结果ThreadTest.testThread().