Ответ 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);
}
(конечно, я бы сказал, что это - лучший (более эффективный) ответ на этот вопрос)