예제 #1
0
        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);
        }
예제 #2
0
        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));
        }