gpt4 book ai didi

c# - 用匿名方法定义backgroundworker的RunWorkerCompleted?

转载 作者:行者123 更新时间:2023-11-30 22:50:25 26 4
gpt4 key购买 nike

我希望我用对了术语

我的目标是这样的(我意识到那样行不通):

private bool someBool = false;

BackgroundWorker bg = new BackgroundWorker();
bg.DoWork += new DoWorkEventHandler(DoLengthyTask);
bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
()=>
{
someBool = true;
Logger.Info("Finished");
}
)

重要的部分是 RunWorkerCompletedEventHandler 被定义在原始调用者的范围内,并且可以访问调用者的变量。

这可能吗?它会在 someBool 上产生可能的竞争条件吗?

最佳答案

它在您的示例中不起作用,因为完整的委托(delegate)应接收 2 个参数:

private bool someBool = false;

BackgroundWorker bg = new BackgroundWorker();
bg.DoWork += new DoWorkEventHandler(DoLengthyTask);
bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
(sender, e)=>
{
someBool = true;
Logger.Info("Finished");
}
)

关于c# - 用匿名方法定义backgroundworker的RunWorkerCompleted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/594329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com