Каким образом новое ключевое слово 'dynamic' в .net 4.0 сделает мою жизнь лучше?

StackOverflow https://stackoverflow.com/questions/689240

  •  22-08-2019
  •  | 
  •  

Вопрос

Я не совсем понимаю, что это позволит мне сделать (или сойдет с рук :)

Это было полезно?

Решение

Двумя большими областями являются:

  • работа со сборками COM, где методы возвращают неопределенные типы - так что вы, по сути, можете использовать позднюю привязку
  • работа с типами DLR

Другие виды использования включают такие вещи, как:

  • утиный ввод текста там, где нет интерфейса
  • Silverlight разговаривает с DOM главной страницы
  • обращение к xml-файлу.

В самом C # это допускает несколько вещей, таких как базовый подход к универсальным операторам:

static T Add<T>(T arg1, T arg2) { // doesn't work in CTP
     return ((dynamic)arg1) + ((dynamic)arg2);
}

(конечно, я бы поспорил, что это это лучший (более эффективный) ответ на этот вопрос)

Другие советы

Из блога Чарли Калверта:

Полезные сценарии

Существует три основных сценария, которые будут включены благодаря новой поддержке динамического поиска:

  1. Автоматизация офиса и другие сценарии COM-взаимодействия
  2. Потребляющие типы , написанные на динамических языках
  3. Расширенная поддержка рефлексии

Подробнее читайте здесь: http://blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx

Есть несколько подкастов о самой функции и о том, как ее можно использовать:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top