Remotion.Linq.SqlBackend.SqlPreparation.MethodCallTransformers.MethodCallTransformerUtility.CheckArgumentCount C# (CSharp) Method

CheckArgumentCount() public static method

public static CheckArgumentCount ( MethodCallExpression methodCallExpression ) : void
methodCallExpression System.Linq.Expressions.MethodCallExpression
return void
    public static void CheckArgumentCount (MethodCallExpression methodCallExpression, params int[] allowedArgumentCounts)
    {
      ArgumentUtility.CheckNotNull ("methodCallExpression", methodCallExpression);
      ArgumentUtility.CheckNotNull ("allowedArgumentCounts", allowedArgumentCounts);

      if (!allowedArgumentCounts.Contains (methodCallExpression.Arguments.Count))
      {
        var message = string.Format (
            "{0} function with {1} arguments is not supported. Expression: '{2}'", 
            methodCallExpression.Method.Name, 
            methodCallExpression.Arguments.Count,
            FormattingExpressionTreeVisitor.Format (methodCallExpression));
        throw new NotSupportedException (
            message);
      }
    }

Usage Example

        public Expression Transform(MethodCallExpression methodCallExpression)
        {
            ArgumentUtility.CheckNotNull("methodCallExpression", methodCallExpression);

            MethodCallTransformerUtility.CheckArgumentCount(methodCallExpression, 2);
            MethodCallTransformerUtility.CheckInstanceMethod(methodCallExpression);

            return(new SqlFunctionExpression(methodCallExpression.Type, "REPLACE", methodCallExpression.Object, methodCallExpression.Arguments[0], methodCallExpression.Arguments[1]));
        }
All Usage Examples Of Remotion.Linq.SqlBackend.SqlPreparation.MethodCallTransformers.MethodCallTransformerUtility::CheckArgumentCount