'await'运算符只能在异步lambda表达式中使用

罗里克

我有ac#Windows Store应用程序。我正在尝试单击MessageDialog另一个内部的命令按钮时启动一个MessageDialog这样做的目的是警告用户其内容尚未保存,如果他们单击“取消”,它将提示用户使用单独的保存对话框进行保存。

这是我的“ showCloseDialog”函数:

private async Task showCloseDialog()
{
    if (b_editedSinceSave)
    {
        var messageDialog = new MessageDialog("Unsaved work detected. Close anyway?", "Confirmation Message");

        messageDialog.Commands.Add(new UICommand("Yes", (command) =>
        {
            // close document
            editor.Document.SetText(TextSetOptions.None, "");
        }));

        messageDialog.Commands.Add(new UICommand("No", (command) =>
        {
            // save document
            await showSaveDialog();
        }));

        messageDialog.DefaultCommandIndex = 1;
        await messageDialog.ShowAsync();
    }
}

在VS中,出现编译器错误:

“ await”运算符只能在异步lambda表达式中使用。考虑使用'async'修饰符标记此lambda表达式。

该方法标有await如果我await从showSaveDialog之前删除,它会编译(并且可以工作),但会收到警告,提示我确实应该使用await

await在这种情况下如何使用

鲍里斯·帕尔芬嫩科夫(Boris Parfenenkov)

您必须将lambda表达式标记为async,如下所示:

messageDialog.Commands.Add(new UICommand("No", async (command) =>
{
    await showSaveDialog();
}));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

'await'运算符只能在异步lambda表达式错误中使用

来自分类Dev

'await'运算符只能与异步lambda表达式一起使用

来自分类Dev

“await”运算符只能在异步方法中使用

来自分类Dev

await表达式只能在异步函数中使用

来自分类Dev

Visual Studio App Center:“await”运算符只能在异步方法中使用

来自分类Dev

Flutter:错误:“ await”只能在“ async”或“ async *”方法中使用。甚至认为该方法是异步的

来自分类Dev

Flutter:错误:“ await”只能在“ async”或“ async *”方法中使用。甚至认为该方法是异步的

来自分类Dev

在if块中使用await时,“ await”对此表达式的类型没有影响

来自分类Dev

使用OR运算符的Lambda表达式

来自分类Dev

无法在Lambda表达式中使用C#IS运算符?

来自分类Dev

C#-无法在Lambda表达式中使用“ is”运算符

来自分类Dev

在布尔表达式中使用=>运算符

来自分类Dev

在 XPath 表达式中使用 OR 运算符

来自分类Dev

DirectorySearcher异步使用await

来自分类Dev

在AuthorizationHandler中使用`await`

来自分类Dev

错误:等待表达式只能在异步函数中使用。尝试使用“异步”或“异步*”标记功能主体

来自分类Dev

在扩展方法中使用await运算符时,是否需要考虑可能的重入编码问题?

来自分类Dev

在 lambda 表达式中使用三元条件运算符时,Linq select 返回错误结果

来自分类Dev

当可以在lambda中使用await时,为什么不能在lambda中使用yield呢?

来自分类Dev

当可以在lambda中使用await时,为什么不能在lambda中使用yield呢?

来自分类Dev

是使用TPL还是异步/ await

来自分类Dev

是使用TPL还是异步/ await

来自分类Dev

缺少await运算符的IAsyncEnumerable中的警告消息

来自分类Dev

当等待位于传递给异步 lambda 表达式的函数中时,异步方法缺少等待运算符警告

来自分类Dev

C ++函数斜杠运算符Lambda表达式

来自分类Dev

Python如何在Lambda中使用Await

来自分类Dev

在CASE WHEN中使用IN运算符,在GROUP BY表达式中使用SQL

来自分类Dev

如何在正则表达式.Net中使用AND运算符和NOT运算符

来自分类Dev

在setter内部使用await

Related 相关文章

  1. 1

    'await'运算符只能在异步lambda表达式错误中使用

  2. 2

    'await'运算符只能与异步lambda表达式一起使用

  3. 3

    “await”运算符只能在异步方法中使用

  4. 4

    await表达式只能在异步函数中使用

  5. 5

    Visual Studio App Center:“await”运算符只能在异步方法中使用

  6. 6

    Flutter:错误:“ await”只能在“ async”或“ async *”方法中使用。甚至认为该方法是异步的

  7. 7

    Flutter:错误:“ await”只能在“ async”或“ async *”方法中使用。甚至认为该方法是异步的

  8. 8

    在if块中使用await时,“ await”对此表达式的类型没有影响

  9. 9

    使用OR运算符的Lambda表达式

  10. 10

    无法在Lambda表达式中使用C#IS运算符?

  11. 11

    C#-无法在Lambda表达式中使用“ is”运算符

  12. 12

    在布尔表达式中使用=>运算符

  13. 13

    在 XPath 表达式中使用 OR 运算符

  14. 14

    DirectorySearcher异步使用await

  15. 15

    在AuthorizationHandler中使用`await`

  16. 16

    错误:等待表达式只能在异步函数中使用。尝试使用“异步”或“异步*”标记功能主体

  17. 17

    在扩展方法中使用await运算符时,是否需要考虑可能的重入编码问题?

  18. 18

    在 lambda 表达式中使用三元条件运算符时,Linq select 返回错误结果

  19. 19

    当可以在lambda中使用await时,为什么不能在lambda中使用yield呢?

  20. 20

    当可以在lambda中使用await时,为什么不能在lambda中使用yield呢?

  21. 21

    是使用TPL还是异步/ await

  22. 22

    是使用TPL还是异步/ await

  23. 23

    缺少await运算符的IAsyncEnumerable中的警告消息

  24. 24

    当等待位于传递给异步 lambda 表达式的函数中时,异步方法缺少等待运算符警告

  25. 25

    C ++函数斜杠运算符Lambda表达式

  26. 26

    Python如何在Lambda中使用Await

  27. 27

    在CASE WHEN中使用IN运算符,在GROUP BY表达式中使用SQL

  28. 28

    如何在正则表达式.Net中使用AND运算符和NOT运算符

  29. 29

    在setter内部使用await

热门标签

归档