Если вы используете .NET 4, вы только что описали метод Select
:
IEnumerable<object> newList = list.Select(x => new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Для .NET 3.5 вам нужно привести результат вашего делегата, так как он не имеет общей ковариации:
IEnumerable<object> newList = list.Select(x => (object) new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Или используйте неявно типизированные локальные переменные и получите строго типизированную последовательность:
var newList = list.Select(x => new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});