好的,我明白了。为什么第一个函数是错误的(lambda表达式中有波浪线),而第二个函数是正确的(也就是它可以编译通过)?
public static Expression<Func<IProduct, string, bool>> IsValidExpression(string val)
{
return (h => h.product_name == val);
}
public static Expression<Func<IProduct, bool>> IsValidExpression2()
{
return (m => m.product_name == "ACE");
}