【发布时间】:2021-09-04 03:31:07
【问题描述】:
我正在尝试学习异步编程 (C#/WPF),但我似乎无法理解一些东西,所以我从一个更简单的示例开始,但我仍然卡住了。
示例:在文本框中添加 2 行文本,并在按下按钮时显示所用时间。
这是代码:
private async void b1_Click(object sender, RoutedEventArgs e)
{
txtb1.Text = "";
var watch = System.Diagnostics.Stopwatch.StartNew();
await writeintxtbx();
watch.Stop();
var elapsedtm = watch.ElapsedMilliseconds;
txtb1.Text += $"TOTAL TIME {elapsedtm} \n\n\n";
}
private async Task writeintxtbx()
{
await Task.Run(() => Task1());
await Task.Run(() => Task2());
}
private void Task1()
{
txtb1.Text += $"Task 01 Done \n\n";
}
private void Task2()
{
txtb1.Text += $"Task 2 done \n\n";
}
这是我得到的错误:
]]1
【问题讨论】:
-
请在下面的 URL 链接中查看关于 调用线程无法访问此对象,因为不同的线程拥有它 stackoverflow.com/questions/9732709/… 的答案
标签: c# .net wpf asynchronous async-await