我使用下面的代码片段得到以下编译器错误:
非静态字段,方法或属性需要对象引用
在第5行,和
字段初始值设定项不能引用非静态字段,方法或属性
在第1行 checker
在 ThreadStart
:
public Thread tC = new Thread(new ThreadStart(checker));
public static void checker()
{
if (CheckServerState()) LabelWrite(true, Label1);
else LabelWrite(false,Label1);
}
谁能解释为什么我会收到这些错误?
1 回答
在您的第一个代码片段中,我假设
Label1
是类的名称,而不是变量的名称 . 您需要实例化该类的对象 . 然后,您可以将该对象传递给LabelWrite()
方法第二个编译器错误意味着当您在字段初始值设定项中将新的Thread对象分配给
tC
时,无法引用方法checker()
.您需要在构造函数中执行此操作: