在一个方法中,我有一个像这样的 try catch
块:
try
{
// do something
}
catch (Exception ex)
{
MessageDialog message = new MessageDialog(ex.ToString());
message.ShowAsync();
}
对于
message.ShowAsync()
行,我收到以下警告:说和做:
try
{
// do something
}
catch (Exception ex)
{
MessageDialog message = new MessageDialog(ex.ToString());
await message.ShowAsync();
}
现在我得到一个异常(exception):
我什至尝试这样做以避免在 catch 块内等待:
Exception exception;
try
{
// do something
}
catch (Exception ex)
{
exception = ex;
}
if (exception != null)
{
MessageDialog message = new MessageDialog(ex.ToString());
message.ShowAsync();
}
然而,这不会改变任何事情。
在这种情况下,我必须做什么才能使用
await
? MessageDialog.ShowAsync()
就 IntelliSense 显示返回 Windows.Foundation.IAsyncOperation<IUICommand>
的可等待方法而言。 最佳答案
您的函数必须是“async”才能使用 async 运算符:
前任:
private async void Test()
{
MessageDialog message = new MessageDialog(ex.ToString());
await message.ShowAsync();
}
关于c# - 将 await 与 MessageDialog.ShowAsync() 一起使用时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38050955/