【发布时间】:2009-11-18 16:10:51
【问题描述】:
大家好,我想写的是匿名代表。由于整数变量在委托之间共享,我需要它成为每个委托的本地实例,这样 rs[0] 总是得到 nics[0],rs[1] 总是得到 nics[1] 等等......如何我能做到吗?
for (int i = 0; i < nics.Count; i++)
{
rs[i] = new RollingSeries(monitor, new RollingSeries.NextValueDelegate(delegate()
{
return GetNetworkUtilization(nics[i]);
}));
}
阿卜杜勒·哈利克
【问题讨论】:
-
要非常小心你的要求。您是否希望您的第一个闭包始终在 nics[0] 中获取值在调用委托时,或者您是否希望该闭包获取恰好在 nics[0] 中的值在创建委托时?这是两件不同的事情。 nics[0] 是一个变量,因此它的值会随着时间而改变。您希望闭包看到该更改,还是忽略该更改?