gpt4 book ai didi

C# 在委托(delegate)调用中等待

转载 作者:行者123 更新时间:2023-12-03 23:18:27 28 4
gpt4 key购买 nike

我有一个功能:

public async Task DoStuff()
{
await DoSomethingAsync();
}

我需要从运行此代码的代码中调用它:

list.ItemTapped += async (sender, e) =>
{
file.WriteAllBytes(reportPdf, data, () => **await** file.DoStuff());
};

但是上面调用的Action file.DoStuff中不允许使用await???

最佳答案

同时GazTheDestroyer's answer是正确的,没有理由将 lambda 表达式标记为 async并使用 awaitfile.DoStuff已经返回 Task适合 Func<Task>代表:

list.ItemTapped += async (sender, e) =>
{
file.WriteAllBytes(reportPdf, data, () => file.DoStuff());
};

它还会稍微提高性能,因为没有理由构建 async-await 所需的状态机。方法/委托(delegate)。

关于C# 在委托(delegate)调用中等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27193311/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com