c# - 从 BackgroundWorker 调用的方法中返回

标签 c# winforms backgroundworker

我有一个 BackgroundWorker 调用一个方法,该方法调用一个方法...并在某处检查 CancellationPending 并想退出 BackgroundWorker

有没有一种方法可以直接从那个深度嵌套的方法中做到这一点,或者它是否必须返回到它的调用者,而调用者又会返回到它的调用者......?

最佳答案

您正在使用 BackgroundWorker 这一事实并没有什么特别之处 - 以处理深层嵌套方法调用的相同术语来考虑这一点。

换句话说,不,我没有(不可怕的)方法可以直接这样做。

我能想到的最干净的方法是在您从每个嵌套方法返回后立即在每个级别简单地检查 CancellationPending(如果 true,则返回)。

抛出一个特定的异常并在顶层捕获相同的特定异常类型会让你快速退出,但这并不是最佳实践(也就是说,不要使用任何非异常的异常,比如正常的流控制)。

关于c# - 从 BackgroundWorker 调用的方法中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051134/

相关文章:

c# - 从sql调用过程

c# - 当创建后台工作人员的进程完成时,后台工作人员是否停止

.net - 实现自定义 BackgroundWorker

c# - Windbg:无法遍历托管堆栈

c# - 宇宙飞船 : Rolling Sideways

C# 基础设施 UltraDockManager

c# - 将 GUI 组件添加到预编译的应用程序

c# - 对象引用未设置为组合框的对象实例

java - 如何将数据从后台线程移动到ui线程

c# - 如何从 DateTime 获取完整的月份名称