ContentDialog showAsync()给出错误:没有getAwaiter

时间:2017-05-31 21:26:41

标签: c# uwp async-await

我正在构建一个UWP应用程序(C#),点击按钮,我想验证输入。 如果验证失败,我想显示一条消息,说明输入错误。 这是我应该处理的功能:

private async void AddContact_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) {
    DBHelper db = new DBHelper();
    if(i_name.Text != "" && i_phone.Text != "") {
        db.insertPerson(new Person(i_name.Text, i_phone.Text));
        Frame.Navigate(typeof(MainPage));
    } else {
        ContentDialog msg = new ContentDialog() {
            Title = "Empty input!",
            Content = "Please fill both fields!",
            CloseButtonText = "OK"
        };
        await msg.ShowAsync();
    }
}

但是,当输入最后一部分(等待msg.showAsync())时,它会以红色下划线(在VS中)。构建器读取以下错误:

  

错误CS4036 ' IAsyncOperation'不包含' GetAwaiter'的定义没有扩展方法' GetAwaiter'接受类型' IAsyncOperation'的第一个参数。可以找到(你是否错过了' System'的使用指令?) testniStudioApp d:... \ SecondPage.xaml.cs 43 Active

现在我尝试将此调用分配给变量(因为我看到有人用这种方式解决了类似的问题),但它仍然没有奏效。 然后我尝试按照here清除NuGet缓存和重建项目,但这些解决方案都没有。

我很难理解它对我的要求。 关于如何显示消息的每个教程都以大致相同的方式编写,因此我无法理解可能出现的问题。

1 个答案:

答案 0 :(得分:9)

using System;正在疯狂。 感谢回答的评论