gpt4 book ai didi

c# - 如何使用 BackgroundWorker 在单独的线程中运行类似 `object = ClassA.GetObject()` 的任务?

转载 作者:行者123 更新时间:2023-11-30 21:05:00 24 4
gpt4 key购买 nike

我试图让这条线与 BackgroundWorker 一起工作:

map = Map.LoadMap(mapname);

……像这样:

bw.DoWork += (map = Map.LoadMap(mapname));

它会导致错误 Cannot implicitly convert type 'game.Map' to 'System.ComponentModel.DoWorkEventHandler'

我刚开始使用 BackgroundWorker 作为我游戏的线程组件,但转换所有现有方法以使用它似乎并不容易。是否有一种简单的方法来完成这项工作,还是切换到其他线程机制更好?

注意:从线程库开始,我需要能够轮询进度百分比,而不是搞乱我现有的方法调用。

最佳答案

您可以利用 anonymous delegates像这样:

bw.DoWork += (sender, args) => { map = Map.LoadMap(mapname); };

关于c# - 如何使用 BackgroundWorker 在单独的线程中运行类似 `object = ClassA.GetObject()` 的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936839/

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