用匿名方法定义backgroundworker的RunWorkerCompleted?

2024-04-18

我希望我使用了正确的术语

我的目标是这样的(我意识到它不会那样工作):

private bool someBool = false;

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

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

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


它在您的示例中不起作用,因为完整的委托应该接收 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");
                }
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用匿名方法定义backgroundworker的RunWorkerCompleted? 的相关文章

随机推荐

  • 报告多个 Python 版本的累积覆盖率

    我的代码根据当前的 Python 版本有条件地运行 因为我支持同一包中的 2 6 2 7 和 3 3 我目前使用默认版本的 Python 生成这样的覆盖率报告 coverage run source mypackage setup py t
  • Node.js-“npm installexpress”错误:0906D06C:PEM 例程:PEM_read_bio npm

    我已经安装了node js 并且npm也随之安装了 在我的 Windows 命令提示符中 当我写 npm install express 时 它给出以下错误 如何解决这个问题 C 用户 gt npm v 2 11 2 C Users gt
  • 使用 vim 处理文本文件中的 \r \n ^M ​​^@

    当我将 excel 文件中的数据行保存为制表符分隔的 txt 文件 然后在 VIM 中打开这些文件时 我发现 excel 中曾经的多行文件现在是 VIM 中的单行文件 可以使用一些替换命令在 VIM 中分隔 行 s M r n g 此后 线
  • Ruby 相当于 perl 的“Data::Dumper”,用于打印深层嵌套的散列/数组

    这不是重复的Ruby 相当于 Perl Data Dumper https stackoverflow com questions 2159426 ruby equivalent of perl datadumper 这个问题已经存在超过
  • 如何下载 Java SE 6 更新 121?

    我需要 JDK6 来运行遗留应用程序 但我还需要 TLS 1 2 支持 这个链接 http www oracle com technetwork java javase overview 156328 html R160 121表示 Jav
  • CAPL 写入文本文件

    我对 CAPL 语言还很陌生 因此 我在将数据写入 txt 文件时遇到问题 这是我写的代码 includes variables message Generate Num Gen message Logger Logs msTimer ti
  • 在某些条件下使用钩子自动将一个分支合并到另一个分支?

    我的 github 存储库中有两个分支 master and dev分支 我有一个需要合并的要求master分支到dev在以下条件下分支 一旦 PR 直接合并到 master 分支 那么我需要自动将 master 分支合并回 dev 分支
  • 无法使用相同的私钥签署 Android 应用精简版

    我刚刚签署了我的付费应用程序 现在我想使用相同的私钥签署它的精简版 我现在的问题是 收到此错误 jarsigner 无法打开 jar 文件 我必须为其创建另一个密钥库吗 或者问题是否来自于我将其保存为不同的文件名 我能做些什么 谢谢 这个问
  • 在 Angular 8 应用程序中实现会话存储

    我正在构建一个电影应用程序来帮助我的学习 我想知道如何捕获按钮的点击次数并将其保存在会话存储中 我已经能够让点击工作了 它增加并显示每个按钮的点击次数 我用指令做到了这一点 我还尝试将按钮的 id 作为键和点击次数作为值附加到会话存储中 我
  • LabelledGeneric 获取类名

    我对 Shapeless 相当陌生 正如人们从我的问题中推断出来的那样 给定一个实例LabelledGeneric 如何获取它所代表的类的名称 我可以从中获取字段名称信息Keys 所以我想我需要一些其他类型的Witness它封装了类型本身
  • 如何在 Linq GroupBy 中选择前 N 行

    希望你能在这里帮助我 我有一个预订列表 我想在其中获取每组旅游运营商中的前两行 这是数据示例 List
  • JQUERY 对对象数组进行排序

    我有一个包含许多对象的数组 Array var activeMembers 上面数组中的 DIV 对象如下所示 每个对象一次添加一个 div class chatmember 1011 div div class chatmember 10
  • 如何让 gradle 和 cucumber 一起工作?

    让 gradle 干净利落地使用 Cucumber 是一个挑战 我想要得到gradle build编译并运行测试 但到目前为止我还没有成功 构建 gradle plugins id com github samueltbrown cucum
  • 如何处理 Xcode 警告“没有以前的函数原型...”?

    这个警告在一些第三方库中大量出现 有没有办法在不修改代码的情况下处理它 例如忽略警告 如果我必须修改代码来修复它 我该怎么做 这是导致警告的代码块之一 BOOL FBIsDeviceIPad if IPHONE OS VERSION MAX
  • 将 Flex 值动态添加到 extjs 中的控制器

    我在 视图 中给出了一些项目 容器 布局为hbox 现在我想给flex通过 控制器 为每个项目赋予值 我怎样才能做到这一点 我已经浏览了文档 但找不到任何类似的方法setFlex EDIT Ext apply Ext getCmp IdHe
  • R 每行分割字符串[重复]

    这个问题在这里已经有答案了 我有一个data frame like word count a b c 5 c d 3 c d e 10 我想分割每一行的字符串以获得以下结果 word count a 5 b 5 c 5 c 3 d 3 c
  • 给定类型的转换运算符与构造函数。哪个更可取?

    我正在为我的容器定义迭代器类型 当然我想要iterator可转换为const iterator 但我不确定哪个更好 更可取 中的转换运算符iterator class iterator operator const iterator 或非显
  • 尝试升级到 flink 1.3.1 时出现异常

    我尝试将集群中的 flink 版本升级到 1 3 1 以及 1 3 2 但我的任务管理器中出现以下异常 2018 02 28 12 57 27 120 ERROR org apache flink streaming runtime tas
  • Andengine,如何用触摸屏移动精灵

    我从 Andengine 开始 当我触摸屏幕 而不是精灵 时很难移动我的精灵 我真的需要你的帮助 非常感谢 这是我的代码 Override protected Scene onCreateScene final Scene scene ne
  • 用匿名方法定义backgroundworker的RunWorkerCompleted?

    我希望我使用了正确的术语 我的目标是这样的 我意识到它不会那样工作 private bool someBool false BackgroundWorker bg new BackgroundWorker bg DoWork new DoW