Я использую следующий код для преобразования некоторого Json в динамический объект. Когда я использую DateTime.Parse для свойства моего динамического типа, я ожидаю, что var будет угадывать, что это тип DateTime ... вместо этого он остается динамическим. Это не может быть правдой, не так ли?
Полный пример ниже.
var settings = new JavaScriptSerializer().Deserialize<dynamic>(json);
var startDate = DateTime.Parse(settings.startDate);
var endDate = DateTime.Parse(settings.endDate);
var userId = int.Parse(settings.userId);
startDate, endDate и userId все еще динамические, что означает, что я не могу использовать их в последующих лямбда-выражениях. Очевидно, я могу исправить код с помощью:
DateTime startDate = DateTime.Parse(settings.startDate);
DateTime endDate = DateTime.Parse(settings.endDate);
int userId = int.Parse(settings.userId);
.. но похоже, что компилятор делает «неверное предположение». Кто-нибудь может мне это объяснить?
Спасибо