С появлением типа dynamic
и DLR в .NET 4 у меня теперь есть 3 варианта для объявления того, что я называю «открытыми» типами:
var
, локально неявные типы, чтобы подчеркнуть «что» вместо «как»,
object
, псевдоним для System.Object
и
dynamic
, отключить проверки компилятора, добавить методы / свойства во время выполнения
Хотя там много написано об этом, ничего, что я нашел, соединяет их вместе, и я должен признаться, это все еще немного размыто.
Добавьте к этому LINQ, лямбда-выражения, анонимные типы, рефлексию ... и это станет более шатким.
Я хотел бы увидеть несколько примеров, возможно, противопоставление преимуществ / недостатков, чтобы помочь мне закрепить мое понимание этих концепций, а также помочь мне понять, когда, где и как я должен выбирать между ними.
Спасибо!