私はこのコードを翻訳しました(外部変数をキャプチャするだけで悪い副作用があります):
foreach (TaskPluginInfo tpi in Values)
{
GenerateMenu(menuStrip, tpi.MenuTree, tpi.MenuText, delegate { tpi.ShowTask() });
}
このコードに(上記が機能していないため):
foreach (TaskPluginInfo tpi in Values)
{
// must capture the variable
var x = tpi;
GenerateMenu(menuStrip, tpi.MenuTree, tpi.MenuText, delegate { x.ShowTask(); });
}
そのほとんど知られていない副作用の回避策の正しい用語は何ですか?今のところ、「変数をキャプチャする必要があります」とコメントしました。単語キャプチャ、正しい用語ですか?