外变量让我们这样的代码:Lambda表达式,在多线程
public void Hit(int npage)
{
bool fetch = false;
lock (pagesHit)
{
if (!pagesHit.Contains(npage))
{
pagesHit.Add(npage);
fetch = true;
}
}
if (fetch)
{
pageFiller.Completed += (s, e) =>
{
lock (pagesHit)
{
pagesHit.Remove(npage);
}
};
}
}
此函数可以从不同的线程中调用。目标显然是为了避免获取已经计划获取的页面。填充对象公开通过lambda表达式订阅的事件。我的问题是:我们可以说多参数场景中的参数npage正确处理吗?更好:每个事件订阅收到它自己的npage参数,或最后npage看到传播到所有事件?