如何将参数表达式转换为函数?

问题描述 投票:1回答:1

如果我有一个动态创建的ParameterExpression

class Product
{
    public string Name { get; set; }
}

var propertyName = "Name";

var propertyType = typeof(Product).GetProperty(propertyName).PropertyType;
var parameterExpression = Expression.Parameter(propertyType , propertyName);

如何将其转换为qazxsw poi?

我特意想把它传递给 Func<Product, TPropertyType> 或实体框架使用的Where linq方法。

我也对不使用OrderBy的其他建议持开放态度,但我非常怀疑它是否有可能。

编辑1:删除了Expressions用例,因为whereWhere将有不同的实现删除以试图缩小问题的范围。

c# reflection types expression
1个回答
1
投票

这是一个为OrderByOrderBy生成表达式的示例。正如Johnathon Sullinger在评论中所说,你必须知道你在编译时订购的属性类型,因为它在Where的签名中提到。但是你不必知道OrderBY

Where

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.