Предположим, что мы имеем функцию:анонимный тип объекта или динамический
public IEnumerable<object> GetViewModel(int id) {
var records = LoadRecordById(id);
var result = (from record in records
select new {
field1 = record.data1,
field2 = record.data2,
....
}).ToArray();
return result;
}
Мы можем вернуть его как IEnumerable<object>
и как IEnumerable<dynamic>
. Вопрос в том, что использовать и почему? какие преимущества/недостатки?
Duplicate? http://stackoverflow.com/questions/21080346/difference-between-object-dynamic-and-var –
Посмотрите различия между 'object' и' dynamic', и у вас есть свой ответ. Рассмотрите возможность создания именованного типа - анонимные типы не предназначены для использования таким образом. –
IMHO создает интерфейс или базовый класс; это нарушает основные принципы ОО. – daryal