我经常需要用一个属性来扩充对象。 ;到现在为止(厌倦了),它的丑陋太)我已经这样做了:如何在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
};
我想这可能与一些反射来实现,但我想有一个更快的方法,这使得一些相当于第一繁琐的方法。
感谢,拉塞
我想你可以拿出一个奇特的表达树。但它可能不适用于Linq2SQL和朋友。 – leppie 2010-10-26 17:27:57
第二种方法有什么问题? – 2010-10-26 17:28:58
@Pieter我认为它是丑陋的,并且在我使用它的上下文中没有意义。如果您将它作为一个数据源提供给Eval(“WhyDoIHaveToHaveANameHere.TheActualProperty”)',那么Fx。 – 2010-10-26 19:51:12