public static LambdaExpression GetExpressionSelector(ParameterExpression instanceParameter, string expression, bool safe = false) { var hasName = instanceParameter.Name != string.Empty; var itParameter = hasName ? Expression.Parameter(instanceParameter.Type) : instanceParameter; var l = DynamicExpressionParser.ParseLambda(new[] { itParameter }, null, expression); return(hasName ? ExpressionParameterReplacer.Replace(l, itParameter, instanceParameter) : l); }
public static Expression <Func <T, TProperty> > GetExpressionSelector <T, TProperty>(ParameterExpression instanceParameter, string expression, bool safe = false) { var l = DynamicExpressionParser.ParseLambda <T, TProperty>(expression); return(ExpressionParameterReplacer.Replace(l, l.Parameters[0], instanceParameter)); }