在按照一些创建线程的基本代码后,我遇到了问题。
我有一个方法,我用于在threadstart上进行回调,但是我收到了一个错误,
非静态字段,方法或属性'Program.ServerUDP'
需要对象引用
就此而言,(ServerUDP)。
public void Server.UDP(){}
static void Main(string[] args) {
Thread UDPThread = new Thread(new ThreadStart(ServerUDP));
}
两者都包含在同一个类程序。
中我错过了一些明显的东西吗?我查找的所有代码基本上都是这样运行的,我甚至试图将Thread的声明移出main并作为类的属性,但这是同样的问题。
答案 0 :(得分:1)
ServerUDP应该是静态方法
答案 1 :(得分:0)
如果指定/使用Server
类的实例,则只能访问该方法。因此,如果它没有使用任何特定的object
,您可以将该方法设为静态。您指定了Server.UDP
非常奇怪,这表明仅使用new Server().UDP();
无论如何,当你修复它时,你也必须这样写:
new ThreadStart(() => ServerUDP());