0

我注意到的是,正在使用

Program.cs 有

public static List<Client> clients = new List<Client>();

按钮

 private void button1_Click(object sender, EventArgs e)
         {
                         Client client = new Client(combobox1.selecteditem);
                         Program.clients.Add(client);
         }

Client.cs 所有变量都是非静态公共的。但是有一个事件处理程序,在 packetrecv 上,一个类被调用,然后这个类被过滤并处理

它被称为是

public void recieved(short op, string str, Client c)
        {
switch (op)
                {
case (short)OpCodes.matches:
                        {
                            c.something(c, str);
                            break;
                        }
}
}

处理程序.cs

 public void something(Client c, string movement)
           {
                 if (movement == null)
                 c.coords = movement;
                 c.freeSpot = true;
             }

在上面 ^ 变量将重叠,并且 freespot 将在所有实例中变为真

将与一个实例一起工作。但我正在尝试使用多个实例进行编译。因此,创建 abutton_onclick将使用上述创建一个新实例。

当程序运行时,它在一个实例上完美运行,但在 2+ 个实例上,变量MyClass开始重叠。有没有办法防止这种情况?

4

0 回答 0