这不起作用,但应该让你知道我想要实现的目标:
public static IEnumerable<T> MyMethod<T>(this IEnumerable<T> entity,
string param, string SomeProp)
{
return entity.Where(l =>
System.Data.Objects.SqlClient.SqlFunctions.PatIndex(param, l.SomeProp) > 0);
}
我是否必须将整个Where()
参数作为函数传递给MyMethod
?
答案 0 :(得分:3)
看到您的更新,您可以避免重复:
public static IEnumerable<T> MyMethod<T>(this IEnumerable<T> entity,
string param, Func<T, string> selector)
{
return entity.Where(l =>
System.Data.Objects.SqlClient.SqlFunctions.PatIndex(param, selector(l)) > 0);
}