Newtonsoft JSON - Динамические объекты

Я использую библиотеку Newtonsoft JSON для динамической десериализации входящего необработанного JSON и обнаружил кое-что, что только могуобъяснить

Отправной точкой является следующая строка JSON:

{
  "task": {
    "dueDate": "2012-12-03T00:00:00"
  }
}

Там нет ничего сложного ...

Затем в коде я делаю это:

var dyn = JsonConvert.DeserializeObject(rawJson);
DateTime dueDate = dyn.task.dueDate.Value;

Этот код работает уже несколько месяцев и работает нормально, однако в последней тестовой сборке мы увидели следующую ошибку: '

Newtonsoft.Json.Linq.JObject» не содержит определения длязадача»

Трассировка стека: в CallSite.Target (Closure, CallSite, Object) в System.Dynamic.UpdateDelegates.UpdateAndExecute1 [T0, TRet] (сайт CallSite, T0 arg0)

Теперь это становится странным, все начинает работать снова, если я изменяю код выше с:

DateTime dueDate = dyn.task.dueDate.Value;

в

DateTime dueDate = dyn["task"]["dueDate"].Value;

Итак, хотя этофиксированный" Я неЯ не понимаю, почему это исправляет это и какова возможная причина. У кого-нибудь есть идеи

Ответы на вопрос(6)

Ваш ответ на вопрос