不包含“GetAwaiter”的定义

2024-04-11

我在下面的代码集中收到以下错误,它在“alliancelookup”行上出错,我不确定我做错了什么,但我自己看不到任何东西。我运行到 crest 的查询似乎运行良好,但我遇到的问题似乎与等待者有关,我想知道是否有解决方法?

DynamicCrest crest = new DynamicCrest();
var root = await crest.GetAsync(crest.Host);
var alliancelookup = await (await root.GetAsync(r => r.alliances)).First(i => i.shortName == e.GetArg("allianceticker").ToUpper());
allianceid = alliancelookup.id;

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“System.Dynamic.ExpandoObject”不包含“GetAwaiter”的定义 在CallSite.Target(闭包,CallSite,对象) 在 System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite 站点,T0 arg0) 在 C:\Users---\Documents\Visual Studio 2015\Projects---\Program.cs 中的 ***.Program.c.d.MoveNext() 处:第 95 行


如果没有最小的、完整的、可验证的示例 https://stackoverflow.com/help/mcve,但看起来你确实是await做一些不该做的事awaited.

拆分alliancelookup line:

// Asynchronously retrieve the alliances.
var alliances = await root.GetAsync(r => r.alliances);

// Synchronously get the first matching one.
var allianceLookup = alliances.First(i => i.shortName == e.GetArg("allianceticker").ToUpper());

可能有更好的方法,将过滤器移到异步代码中,但这取决于DynamicCrest.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不包含“GetAwaiter”的定义 的相关文章