我正在使用下面的代码示例 -
Program.cs 有一个客户列表:
public static List<Client> clients = new List<Client>();
带有用于单击 button1 的事件处理程序
private void button1_Click(object sender, EventArgs e)
{
Client client = new Client(combobox1.selecteditem);
Program.clients.Add(client);
}
客户端.cs
所有变量都是非静态的和公共的。有一个事件处理程序,在接收数据包时,调用一个类,然后过滤和处理这个类
在以下代码中调用它:
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
开始重叠。有没有办法防止这种情况?