link如果是闭包,要防止lambda将局部变量带出,能不能举个例子,什么意思?
1条回答 默认 最新
- threenewbee 2015-03-11 09:24关注
比如说
class A { private Func<SomeType> foo; public void bar() { SomeType st = new SomeType(); foo = new Func<SomeType>(() => st); } }
按理说st是一个局部变量,但是作为闭包,它会被带出,生命周期被延长得和A类型的对象的生命周期一样。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报