我有我需要做一些工作的文件(小部件)列表。我想以异步方式执行此操作,以便我的界面保持响应。我想用进度更新 UI。这是我的原型代码。我该如何做到这一点?我假设我需要使用线程,但我也不想同时跨越所有线程,一个接一个就可以了。
void Process()
{
var documents = GetDocuments();
foreach(document in documents)
{
ProcessDocument(
document,
status => this.TextBox.Text += status);
}
}
void ProcessDocument(Document document, Action<string> onCompleted)
{
}