引用对象属性作为方法参数

时间:2013-06-14 14:26:16

标签: c# asp.net

这不起作用,但应该让你知道我想要实现的目标:

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

1 个答案:

答案 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);
}