Expression<Func<T, object>>
选择器是我作为参数的选择器。
我的方法是泛型类型,并且假设我想从被调用的类中获取多个属性值。
a =>a.customername
是传递给表达式的内容。请解释,是否可以进行多项选择?
例如我也想要客户地址,两者都是字符串值。
答案 0 :(得分:6)
如果要获取多个属性,可以使用多个参数,其中每个参数都提取单个值,但使用创建匿名类型的lambda表达式会更常见。例如:
var result = Foo.SomeMethod(customer => new { customer.Name, customer.Address });
编译器将生成一个具有Name
和Address
属性的类型,并创建一个表达式树,使用提供的Customer
对象中的属性创建该类型的实例。