Я не совсем понимаю, что мне разрешит (или уйти с:)
Каким будет предстоящее "динамическое" ключевое слово в .net 4.0, чтобы улучшить мою жизнь?
Ответ 1
Две большие области:
- работает с сборками COM, где методы возвращают неопределенные типы - поэтому вы можете по существу использовать позднюю привязку
- Работа с типами DLR
Другие использования включают такие вещи, как:
- duck-typing, где нет интерфейса
- Silverlight разговаривает с главной страницей DOM
- разговор с XML файлом.
В самом С# это позволяет несколько вещей, например, базовый подход к родовым операторам:
static T Add<T>(T arg1, T arg2) { // doesn't work in CTP
return ((dynamic)arg1) + ((dynamic)arg2);
}
(конечно, я бы сказал, что это - лучший (более эффективный) ответ на этот вопрос)
Ответ 2
Из блога Charlie Calvert:
Полезные сценарии
Существует три основных сценария, которые будут поддерживаться новой поддержкой динамического поиска:
- Автоматизация Office и другие сценарии COM Interop
- Типы потребления, написанные на динамических языках
- Расширенная поддержка рефлексии
Подробнее здесь: http://blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx
Ответ 3
Есть некоторые подкасты о самой функции и о том, как ее можно использовать:
- Внутри С# 4.0: динамическая типизация, необязательные параметры, ковариация и контравариантность
- С# 4.0 Новые возможности - Улучшения COM-взаимодействия
- deCast - Динамический Xml с С# 4.0 "покажет, как вы можете использовать динамическую функциональность, включенную в С# 4.0, для доступа к данным Xml более естественным образом"