无法将lambda表达式转换为类型“…”,因为它不是委托类型
美好的一天! 我试图使用lambda表达式编写一个匿名方法,该表达式将从异步任务返回一个对象。 我想在构造函数中执行此操作,因此这是我无法使其父方法异步的原因。
ReadJsonAsync方法返回一个Session
对象。 我会告诉你相关的代码:
Session session; fileService = new FileService(); session = async () => { return await fileService.ReadJsonAsync() };
提前致谢!
如果你想要一个匿名方法 ,你必须声明一个返回一个Task
因为它用async
修饰符标记,因此必须返回一个void
(仅用于异步事件处理程序), Task
或Task
:
Func> anonFunction = async () => await fileService.ReadJsonAsync();
如果你所做的只是运行ReadJsonAsync
,你也可以自己保存状态机生成:
Func> anonFunction = fileService.ReadJsonAsync;
然后你可以在更高阶函数上await
它:
上述就是C#学习教程:无法将lambda表达式转换为类型“…”,因为它不是委托类型分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Func> anonFunction = fileService.ReadJsonAsync; await anonFunction();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/987183.html