link如果是闭包,要防止lambda将局部变量带出,能不能举个例子,什么意思?
比如说
class A
{
private Func<SomeType> foo;
public void bar()
{
SomeType st = new SomeType();
foo = new Func<SomeType>(() => st);
}
}
按理说st是一个局部变量,但是作为闭包,它会被带出,生命周期被延长得和A类型的对象的生命周期一样。