C# 让一个事件等待另一个事件完成-旧学校
我需要这样做,但没有异步/等待关键字(我的应用程序是用C# 让一个事件等待另一个事件完成-旧学校,c#,asynchronous,async-await,C#,Asynchronous,Async Await,我需要这样做,但没有异步/等待关键字(我的应用程序是用 .NET Framework 4.0) TaskCompletionSource tcs=null; 专用异步无效按钮\u单击(对象发送方,路由目标) { tcs=新任务完成源(); 等待tcs任务; WelcomeTitle.Text=“已完成的工作”; } 私有无效按钮\u单击2(对象发送者,路由目标) { tcs?.TrySetResult(真); } 有什么想法吗?您需要手动为任务附加一个延续。这就是async await旨在减轻
.NET Framework 4.0
)
TaskCompletionSource tcs=null;
专用异步无效按钮\u单击(对象发送方,路由目标)
{
tcs=新任务完成源();
等待tcs任务;
WelcomeTitle.Text=“已完成的工作”;
}
私有无效按钮\u单击2(对象发送者,路由目标)
{
tcs?.TrySetResult(真);
}
有什么想法吗?您需要手动为任务附加一个延续。这就是async await旨在减轻的负担
TaskCompletionSource<bool> tcs = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
tcs = new TaskCompletionSource<bool>();
tcs.Task.ContinueWith((_) =>
{
WelcomeTitle.Text = "Finished work";
}, TaskContinuationOptions.ExecuteSynchronously);
}
private void Button_Click2(object sender, RoutedEventArgs e)
{
tcs?.TrySetResult(true);
}
TaskCompletionSource tcs=null;
私有无效按钮\u单击(对象发送者,路由目标e)
{
tcs=新任务完成源();
tcs.Task.ContinueWith(()=>
{
WelcomeTitle.Text=“已完成的工作”;
},TaskContinuationOptions。同步执行);
}
私有无效按钮\u单击2(对象发送者,路由目标)
{
tcs?.TrySetResult(真);
}
您是否尝试过tcs.Task.Wait()代码>?为什么我们要在这里使用任务,只需使用手动重置事件或其他什么。当然,除非这是一个过于简化的例子
TaskCompletionSource<bool> tcs = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
tcs = new TaskCompletionSource<bool>();
tcs.Task.ContinueWith((_) =>
{
WelcomeTitle.Text = "Finished work";
}, TaskContinuationOptions.ExecuteSynchronously);
}
private void Button_Click2(object sender, RoutedEventArgs e)
{
tcs?.TrySetResult(true);
}