gpt4 book ai didi

c# - 是否可以在同一解决方案中使用具有单独类库的后台 worker

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

我一直在构建一个控制台应用程序,我最近决定将 WinForm GUI 粘贴到该应用程序上。这是在 Visual Studio 2015(C# 6.0、.NET Framework 4.5.2)中完成的

我有以下项目布局

|-Solution
|-- GUI (Windows Application)
|-- DoStuff1 (Class Library)
|-- DoStuff2 (Class Library)
|-- DoStuff3 (Class Library)
|-- ConsoleApp1 (ConsoleApp)
|-- ConsoleApp2 (ConsoleApp)
|-- Helpers (Class Library)

现在的问题是,尽管它可以正常工作,但最终可能会花费大量时间进行处理,因此我开始考虑使用 BackgroundWorker,但是到目前为止,所有搜索都显示了在所有处理过程中如何使用它/work 是在同一个 Windows 应用程序项目中完成的,而不是在它们被分开的情况下。

此外,我如何将进度从我的类库报告回我的 GUI,这与 ReportProgress 有关,但不确定如何设置它...

这可能吗,还是我需要将类库中的所有代码移到 GUI 项目中?

最佳答案

最好用Task.Run将工作卸载到后台线程,因为它比 BackgroundWorker 更灵活,更容易与其他工作组合.

您可以使用 IProgress<T>向 gui 报告进度,this blog post显示了如何执行此操作的示例并将其与使用 BackgroundWorker 进行比较.

关于c# - 是否可以在同一解决方案中使用具有单独类库的后台 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343677/

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