gpt4 book ai didi

system.reactive - 我如何 DumpLive 长时间运行的进程的结果?

转载 作者:行者123 更新时间:2023-12-02 01:46:35 25 4
gpt4 key购买 nike

我试过 Observable.Create

在显示任何结果之前等待完成。
可能是因为我试图遵循的示例是不断变化的实时值(value),而不是不断变化的实时收藏。


ObservableCollection<FileAnalysisResult> fileAnalysisResults = new ObservableCollection<FileAnalysisResult>();
我似乎无法申请,因为 .DumpLive()不适用于 ObservableCollection .

最佳答案

简答 : 使用 LINQPad 的 DumpContainer :

var dc = new DumpContainer().Dump();

for (int i = 0; i < 100; i++)
{
dc.Content = i;
Thread.Sleep(100);
}

长答案 : DumpContainer写入 LINQPad 的标准 HTML 结果窗口,因此您可以在主线程被阻塞时看到值的变化,同时调用 DumpLive在 IObservable 上使用 WPF 控件来呈现更新,因此主线程必须保持畅通,以便在更新发生时查看更新。

也可以转储 WPF 或 Windows 窗体控件并就地更新它:
var txt = new TextBox().Dump();
for (int i = 0; i < 100; i++)
{
txt.Text = i.ToString();
await Task.Delay(100);
}

就像 DumpLive ,一定要注意不要阻塞主线程。如果您更换了 await Task.DelayThread.Sleep ,你会阻塞 UI 线程,直到最后什么都不会出现。

关于system.reactive - 我如何 DumpLive 长时间运行的进程的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25332902/

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