如何使此方法异步
本文关键字:异步 此方法 何使 | 更新日期: 2023-09-27 17:56:29
我想知道如何使此方法异步,它给了我一个错误:"await"运算符只能在异步方法中使用。请考虑使用"异步"修饰符标记此方法,并将其返回类型更改为"Task"。
这是我的代码:
void OnRegister(object sender, RoutedEventArgs e)
{
await PrintManager.ShowPrintUIAsync();
}
不客气:
async void OnRegister(object sender, RoutedEventArgs e)
{
await PrintManager.ShowPrintUIAsync();
}
如果没有异步方法,则无法使用 await(这没有任何意义)。
async Task<int> OnRegisterAsync(object sender, RoutedEventArgs e)
{
await PrintManager.ShowPrintUIAsync();
return 0;
}
您需要
用"async"装饰包含"await"的方法。在您的情况下,我猜您无法让 OnRegister 返回任务,因此您需要一个帮助程序方法。这样的事情应该有效:
void OnRegister(object sender, RoutedEventArgs e)
{
RegisterAsync();
}
async void RegisterAsync() {
await PrintManager.ShowPrintUIAsync();
}
请注意 RegisterAsync 方法如何用"async"装饰并返回一个 Task。这反过来需要由调用方启动。
参考: http://msdn.microsoft.com/en-us/library/hh191443.aspx