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