【发布时间】:2010-04-13 09:26:07
【问题描述】:
我正在尝试遍历所有组件,并且对于那些实现 ISupportsOpen 的人允许打开一个项目。 问题是当调用匿名方法时,组件变量总是相同的元素(来自 IEnumerable 的外部作用域)
foreach (ISupportsOpen component in something.Site.Container.Components.OfType<ISupportsOpen>())
{
MyClass m = new MyClass();
m.Called += new EventHandler(delegate(object sender, EventArgs e)
{
if (component.CanOpenProject(..)) component.OpenProject(..);
});
itemsList.Add(m);
}
请问应该怎么解决?
【问题讨论】:
标签: c# generics scope anonymous-methods