我正在尝试使这一行与BackgroundWorker
一起使用:
map = Map.LoadMap(mapname);
...像这样:
bw.DoWork += (map = Map.LoadMap(mapname));
它会导致错误无法将类型“game.Map”隐式转换为“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/