I am using the following code to convert some Json into a dynamic object. When I use DateTime.Parse on a property of my dynamic type I would expect the var to guess that it\
I don't think this is particularly surprising.
DateTime.Parse(
will evaluate to dynamic.
DateTime startDate =
does a runtime assignment from a dynamic to a DateTime.
You've just combined the two.
The compiler isn't guessing the type of DateTime.Parse(
to be anything other than dynamic, but it's clever enough to realise that if you do an assignment of this value to a DateTime then assuming it is successful you're left with a DateTime.