Основываясь на моем ответе на этот вопрос, я хочу проверить что-то на моем понимании предстоящего типа dynamic
для С# 4.
В этом случае у нас есть коллекция, представляющая поля в записи, извлеченной из неизвестной таблицы базы данных. Старший код (pre-.Net 4) требует, чтобы такие элементы удержания коллекции имели тип Object
. Достоинства такой коллекции в стороне, мне интересно, что произойдет, когда вы измените Object
на dynamic
.
С одной стороны, я ожидаю, что, поскольку все вещи для динамических типов разрабатываются во время выполнения, все должно быть прекрасно, пока программист не делает никаких опечаток или ошибок относительно ожидаемого типа определенного элемента в Коллекция.
С другой стороны, я задаюсь вопросом о слове "все" в предыдущем предложении. Будет ли время выполнения возможно кэшировать результаты при первом доступе динамического свойства, вызвав последующие вызовы с использованием разных типов?