我必须连接到这样的活动。
for (int iii = 1; iii <= pcdApplication.Machines.Count; iii++)
{
Machine machine = pcdApplication.Machines.Item(iii);
machineList.Add(machine);
machine.ErrorMsg += Machine_ErrorMsg;
}
连接的事件如下:
private void Machine_ErrorMsg(string Msg, int ErrorType)
{
...
}
所以在这里我没有指示我需要知道其属性的发送机器是什么。
谢谢
帕特里克
我认为你唯一能做的就是使用 lambda 而不是命名方法,例如
for (int iii = 1; iii <= pcdApplication.Machines.Count; iii++)
{
Machine machine = pcdApplication.Machines.Item(iii);
machineList.Add(machine);
machine.ErrorMsg += (Msg, ErrorType) =>
{
Console.WriteLine(machine.Name);
// ...
};
}
lambda 可以访问当前上下文中的变量,而命名方法则不能。