动态不起作用的突然问题(仅)我的机器

时间:2018-04-06 19:24:50

标签: c# .net-core asp.net-core-2.0

我的基本设置是:

//caller
dynamic thingThatEndsUpBeingAJObject = JsonConvert.DeserializeObject(await httpClientResponse.Content.ReadAsStringAsync());
var parsedThing = Parse(thingThatEndsUpBeingAJObject);

//elsewhere...
private async Task<ParsedThing> Parse(dynamic json)
{
    dynamic referenceToThingIWant = json.ThingIWant;
    return new ParsedThing{ SomeProp = referenceToThingIWant; }
}

...我最终在对json.ThingIWant的引用上获得了RuntimeBinderException。

奇怪的是,如果我把手表放在:

((JObject)json)["ThingIWant"]

我可以看到它在那里很好!

更令人困惑的是,代码在其他所有人的机器上运行良好(我相信它在我的用户运行良好,直到几天前)!

究竟是什么导致这种奇怪的怪癖?!?

我已经离开了重启计算机,FWIW。

特定错误/堆栈跟踪是:

'Newtonsoft.Json.Linq.JObject' does not contain a definition for 'ThingIWant'
   at Microsoft.CSharp.RuntimeBinder.RuntimeBinderController.SubmitError(CError pError)

0 个答案:

没有答案