Remotion.Linq.SqlBackend.MappingResolution.CompoundExpressionComparisonSplitter.CombineComparisons C# (CSharp) Метод

CombineComparisons() приватный метод

private CombineComparisons ( Expression previousParts, Expression currentPart, ExpressionType comparisonExpressionType, Expression leftCompoundExpression, Expression rightCompoundExpression ) : Expression
previousParts System.Linq.Expressions.Expression
currentPart System.Linq.Expressions.Expression
comparisonExpressionType ExpressionType
leftCompoundExpression System.Linq.Expressions.Expression
rightCompoundExpression System.Linq.Expressions.Expression
Результат System.Linq.Expressions.Expression
    private Expression CombineComparisons (
        Expression previousParts,
        Expression currentPart,
        ExpressionType comparisonExpressionType,
        Expression leftCompoundExpression,
        Expression rightCompoundExpression)
    {
      if (previousParts == null)
      {
        previousParts = currentPart;
      }
      else
      {
        switch (comparisonExpressionType)
        {
          case ExpressionType.Equal:
            previousParts = Expression.AndAlso (previousParts, currentPart);
            break;
          case ExpressionType.NotEqual:
            previousParts = Expression.OrElse (previousParts, currentPart);
            break;
          default:
            var message = string.Format (
                "Compound values can only be compared using 'Equal' and 'NotEqual', not '{0}'. Expressions: {1}, {2}",
                comparisonExpressionType,
                FormattingExpressionTreeVisitor.Format (leftCompoundExpression),
                FormattingExpressionTreeVisitor.Format (rightCompoundExpression));
            throw new NotSupportedException (message);
        }
      }
      return previousParts;
    } 
  }