我需要一些异步函数中的局部动态变量
public async Task SomeFunction()
{
dynamic d = JsonConvert.DeserializeObject<dynamic>(@"{'someJSON': 'value'}");
}
在“监视”窗口中,其类型显示为对象
**object**{Newtonsoft.Json.Linq.JObject}
如果我删除了异步修饰符,则该变量是动态的。
**dynamic**{Newtonsoft.Json.Linq.JObject}
如果它是动态的,我可以使用点语法like.someJSON。 如果是该对象,则会出现错误-someJSON不存在。
我检查了不同的C#版本,但是得到了相同的结果。
这是设计使然吗?如何在async函数中获得真正的动力?
答案 0 :(得分:0)
好吧,这似乎是调试器故障。该问题仅在调试窗口中发生。谢谢大家。