以下代码:
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
来拨打特殊情况?
答案 0 :(得分:2)
您需要传递MethodInfo
。