【发布时间】:2013-09-22 10:47:13
【问题描述】:
我通常知道“隐式捕获的闭包”是什么意思,但是,今天我遇到了以下情况:
public static void Foo (Bar bar, Action<int> a, Action<int> b, int c)
{
bar.RegisterHandler(x => a(c)); // Implicitly captured closure: b
bar.RegisterHandler(x => b(c)); // Implicitly captured closure: a
}
为什么我还要隐式捕捉其他动作?如果我评论这两行中的任何一行,另一行不会给我警告。有人知道 ReSharper 警告我有什么危险吗?
编辑:ReSharper 8.0.1
【问题讨论】:
-
不,它不是 13633617 的副本,尤其是关于未使用的变量被第二个 lambda 隐式捕获的情况。
-
您应该阅读我对上述问题的回答,我认为这正是您要问的here