Le message d'erreur est "Le type ou le nom de l'espace de noms 'T' est introuvable."Retour d'une expression générique imbriquée <Func <T, bool>>
???
public static Expression<Func<T, bool>> MakeFilter(string prop, object val)
{
ParameterExpression pe = Expression.Parameter(typeof(T), "p");
PropertyInfo pi = typeof(T).GetProperty(prop);
MemberExpression me = Expression.MakeMemberAccess(pe, pi);
ConstantExpression ce = Expression.Constant(val);
BinaryExpression be = Expression.Equal(me, ce);
return Expression.Lambda<Func<T, bool>>(be, pe);
}
Liens connexes:
Using reflection to address a Linqed property
Runtime creation of generic Func<T>