public ExpressionResolutionResult GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver) { var oldParameter = propertyMap.CustomExpression.Parameters.Single(); var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new ParameterConversionVisitor(newParameter, oldParameter); Expression currentChild = converter.Visit(propertyMap.CustomExpression.Body); Type currentChildType = currentChild.Type; return new ExpressionResolutionResult(currentChild, currentChildType); }
private static ExpressionResolutionResult ExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, LambdaExpression lambdaExpression) { var oldParameter = lambdaExpression.Parameters.Single(); var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new ParameterConversionVisitor(newParameter, oldParameter); Expression currentChild = converter.Visit(lambdaExpression.Body); Type currentChildType = currentChild.Type; return new ExpressionResolutionResult(currentChild, currentChildType); }
private static ExpressionResolutionResult ExpressionResolutionResult( ExpressionResolutionResult expressionResolutionResult, LambdaExpression lambdaExpression) { var oldParameter = lambdaExpression.Parameters.Single(); var newParameter = expressionResolutionResult.ResolutionExpression; var converter = new ParameterConversionVisitor(newParameter, oldParameter); Expression currentChild = converter.Visit(lambdaExpression.Body); Type currentChildType = currentChild.Type; return(new ExpressionResolutionResult(currentChild, currentChildType)); }