我注意到的是,正在使用
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;
}
}
}
Handler.cs
public void something(Client c, string movement)
{
if (movement == null)
c.coords = movement;
c.freeSpot = true;
}
在上面的^中,变量将重叠,并且freespot将在所有实例中变为真实
将使用一个实例查找。但我正在尝试使用多个实例进行编译。
因此,创建button_onclick
将使用上面的内容创建一个新实例。
当程序运行时,它在一个实例上运行完美,但是有2个以上的实例,MyClass
中的变量开始重叠。有办法防止这种情况吗?