Как дополнить объект анонимного типа в C #

Мне часто нужно, например, добавить к объекту свойство. До сих пор (устал от этого;) и это тоже уродливо) Я делал это так:

var someListOfObjects = ...;

var objectsWithMyProperty = from o in someListOfObjects
                            select new
                            {
                                o.Name,    /* Just copying all the attributes I need */
                                o.Address, /* which may be all of them. */

                                SomeNewProperty = value
                            };

Есть ли какой-нибудь способ сделать это? То, что я сделал ранее, выглядит примерно так:

var objectsWithMyProperty = from o in someListOfObjects
                            select new
                            {
                                OldObject = o,           /* I access all of the old properties from here */    
                                SomeNewProperty = value
                            };

Думаю, это можно сделать с помощью некоторого размышления, но я полагаю, что есть более быстрый подход, который делает что-то эквивалентным первому громоздкому подходу.

Спасибо, Лассе

5
задан Lasse Espeholt 26 October 2010 в 17:24
поделиться