小编Iba*_*nez的帖子

处理 C# 表达式树中嵌套对象的空值

我已经搜索过并找到了与我的问题有关的类似帖子,但似乎没有什么能解决我的问题。

我对 C# 相当陌生,这是我第一次尝试构建表达式树。(请放轻松;-)

我正在尝试创建一个表达式树,一旦编译,它就会过滤一组数据上的值。

这是我的表达方法:

private static Expression<Func<TItem, bool>> CreateFilterExpression<TItem>(string propertyName, string expressionType, dynamic filterValue)
{
    if (param == null)
    {
        param = Expression.Parameter(typeof(TItem), "item");
    }
    MemberExpression member = GetMemberExpression<TItem>(propertyName);

    //When we call our method, we need to evaluate on the same type
    //we convert the filter value to the type of the property we are evaluating on
    dynamic convertedValue = Convert.ChangeType(filterValue, member.Type);
    MethodInfo method = member.Type.GetMethod(expressionType, new[] { member.Type });
    ConstantExpression constantValue = Expression.Constant(convertedValue, member.Type);
    Expression containsMethodExp;

    if …
Run Code Online (Sandbox Code Playgroud)

c# lambda expression

3
推荐指数
1
解决办法
2992
查看次数

标签 统计

c# ×1

expression ×1

lambda ×1