Remotion.Linq.SqlBackend.SqlPreparation.SqlPreparationExpressionVisitor.VisitMethodCallExpression C# (CSharp) Метод

VisitMethodCallExpression() защищенный Метод

protected VisitMethodCallExpression ( MethodCallExpression expression ) : Expression
expression System.Linq.Expressions.MethodCallExpression
Результат System.Linq.Expressions.Expression
    protected override Expression VisitMethodCallExpression (MethodCallExpression expression)
    {
      ArgumentUtility.CheckNotNull ("expression", expression);

      var transformer = _methodCallTransformerProvider.GetTransformer(expression);
      if (transformer != null)
      {
        var transformedExpression = transformer.Transform (expression);
        return VisitExpression (transformedExpression);
      }

      var namedInstance = expression.Object != null ? NamedExpression.CreateFromMemberName ("Object", VisitExpression (expression.Object)) : null;
      var namedArguments = expression.Arguments.Select ((a, i) => (Expression) NamedExpression.CreateFromMemberName ("Arg" + i, VisitExpression (a)));
      return Expression.Call (namedInstance, expression.Method, namedArguments);
    }