我有一个返回Async
值的Boolean
方法但是当我调用该函数并尝试将值设为bool
时,我收到的错误为:
无法将类型'system.threading.tasks.task bool'隐式转换为'bool'。
以下是我调用async
方法的方法:
bool IsAvailable = Helper.search(Name);
如何纠正?
答案 0 :(得分:5)
应该是
bool IsAvailable = await AdHelper.searchGroup(Name);
这里有一个很好的例子http://www.dotnetperls.com/async。
如果您无法等待,可以查看此答案here。
答案 1 :(得分:2)
只是扩展Radin的答案;
AdHelper.searchGroup(Name)
- 您尝试分配的值是一项任务,因此您收到了错误:
无法将类型&system;系列广告.tasks.task bool' 隐式转换为' bool'
您可能想要的是任务返回的值。要从任务中获取异步值,您需要使用关键字 await
。
await
- 一个运算符,它应用于异步方法中的任务,以暂停方法的执行,直到等待的任务完成。该任务代表了正在进行的工
因此,为了从async
任务中获取值,您需要使用 -
bool IsAvailable = await AdHelper.searchGroup(Name);