我在下面的代码集中收到以下错误,它在“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
做一些不该做的事await
ed.
拆分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(使用前将#替换为@)