我有一个不想绑定 X 集合的数据源。X 应该包含某个类型 Y 的属性的子集(假设 Y 具有属性 PropOne、PropTwo、PropThree)这当然可以使用匿名类型来完成:
void DoBind()
{
myGrid.DataSource = myCollectionOfYs.Select(y => new {y.PropOne, y.PropTwo});
}
如何修改此方法,以便它的调用者可以以类型安全的方式指定要在投影中使用的属性?即类似的东西:
var expressions = new List<Expression<Func<Y, object>>>();
expressions.Add(y => y.PropOne);
expressions.Add(y => y.PropTwo);
DoBind(expressions);