C# 等待无效任务(C)
我需要在运行一个空任务之后运行一些有用的代码,然后再等待它完成 样本:C# 等待无效任务(C),c#,asynchronous,async-await,C#,Asynchronous,Async Await,我需要在运行一个空任务之后运行一些有用的代码,然后再等待它完成 样本: private void Button_Click(object sender, RoutedEventArgs e) { Task t = SomeAsync(); MessageBox.Show("before end"); await t; // <-- how to write this? MessageBox.Show("after end"); } private asyn
private void Button_Click(object sender, RoutedEventArgs e)
{
Task t = SomeAsync();
MessageBox.Show("before end");
await t; // <-- how to write this?
MessageBox.Show("after end");
}
private async Task SomeAsync()
{
await Task.Run(() =>
{
//do some work;
});
}
我知道如何在任务上写这篇文章,但不理解async/await。有人会写工作样本吗
谢谢。只需将处理程序声明为异步即可
你应该考虑一下,试试看。在t中捕获为未处理的错误将作为应用程序未处理的异常出现,并使应用程序停止运行。您可以使用来处理所有未观察到的任务异常,但您应该阅读文档,看看这是否适合您的应用程序。如果Button\u Click被声明为异步,那么它应该可以工作;但您也可以执行var result=waitSomeAsync@jpaugh我不能那样做,因为我想在留言框里做些工作;在示例中,在等待任务结束之前。下面的答案是我想要的。下面的答案正是我提到的。
private async void Button_Click(object sender, RoutedEventArgs e)
{
Task t = SomeAsync();
MessageBox.Show("before end");
await t;
MessageBox.Show("after end");
}