代码之家  ›  专栏  ›  技术社区  ›  Sam

对String.Equals()的Expression.Call()抛出错误

  •  0
  • Sam  · 技术社区  · 15 年前

    以下代码:

    var constant = Expression.Constant("find me", typeof(string));
    
    // memberExpression evaluates to a string
    var predicate = Expression.Call(memberExpression, "Equals", null, constant);
    

    正在抛出错误 类型“System.String”上的多个方法“Equals”与提供的参数兼容 .

    我猜那是因为 Equals(Object) Equals(String) -有没有什么方法可以让我通过 Expression.Call() 以实例方法名作为字符串的?

    或者我必须为打电话给 Equals() 采取行动 MethodInfo

    1 回复  |  直到 15 年前
        1
  •  2
  •   SLaks    15 年前

    你需要通过考试 MethodInfo .