我是一个新手,正在学习表达式树,希望我的翻译能够让你理解。我正在尝试创建一个表示以下内容的表达式树:
t => t.SomeProperty.Contains("stringValue");
到目前为止,我已经得到了:
private static Expression.Lambda<Func<string, bool>> GetContainsExpression<T>(string propertyName, string propertyValue)
{
var parameterExp = Expression.Parameter(typeof(T), "type");
var propertyExp = Expression.Property(parameter, propertyName);
var containsMethodExp = Expression.*SomeMemberReferenceFunction*("Contains", propertyExp) //this is where I got lost, obviously :)
...
return Expression.Lambda<Func<string, bool>>(containsMethodExp, parameterExp); //then something like this
}
我不知道如何引用String.Contains()方法。
请帮忙解答。
ConstantExpression
,那么它就是彻底破损的。这本身不会导致SQL注入漏洞。如果你使用了破损的工具,那么你已经处于任何风险之中。你有实际的例子吗?这听起来像是“FUD”。 - Marc Gravell