我创建的对象里面有一些属性。因此,对于此对象,我将在数据库查询后添加值。
之后,我需要进行分组和总结。所以我会这样做:
var after_grouping = from t in list_item
group t by new {t.category_subcategory,t.item} into g
select new {
no = g.Key,
price = g.Sum(a=>a.price),
quantity = g.Sum(a=>a.quantity)
};
然后我需要将“after_grouping”中的值添加到新对象类。所以我会在变量“after_grouping”。
中做foreach foreach(PropertyInfo eachRow in after_grouping.GetType().GetProperties())
{
string cat_sub = "";
string item_name = "";
decimal price = 0;
decimal quantity = 0;
decimal total = 0;
//Access the object here
listAfterCopy.Add(new SelectedItemOnPoCopy(cat_sub, item_name, price, quantity, total));
}
我的问题是,如何访问该属性是我在变量“after_grouping”中创建的?
如果您有任何更好的建议,请告诉我。
答案 0 :(得分:2)
你不需要反思来做到这一点。您可以像使用自己的自定义类一样访问匿名类型属性:
foreach(var item in after_grouping)
{
listAfterCopy.Add(
new SelectedItemOnPoCopy(
item.no.category_subcategory,
item.no.item,
item.price,
item.quantity
)
);
}