异步功能中的动态变量

时间:2019-05-24 03:28:35

标签: c#

我需要一些异步函数中的局部动态变量

 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函数中获得真正的动力?

1 个答案:

答案 0 :(得分:0)

好吧,这似乎是调试器故障。该问题仅在调试窗口中发生。谢谢大家。