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

CheckInstanceMethod() public static method

public static CheckInstanceMethod ( MethodCallExpression methodCallExpression ) : void
methodCallExpression System.Linq.Expressions.MethodCallExpression
return void
    public static void CheckInstanceMethod (MethodCallExpression methodCallExpression)
    {
      ArgumentUtility.CheckNotNull ("methodCallExpression", methodCallExpression);

      if (methodCallExpression.Method.IsStatic)
      {
        var message = string.Format (
            "Method {0} is not supported by this transformer. Expression: '{1}'",
            methodCallExpression.Method.Name,
            FormattingExpressionTreeVisitor.Format (methodCallExpression));
        throw new NotSupportedException (message);
      }
    }
  }

Usage Example

Example #1
0
        public Expression Transform(MethodCallExpression methodCallExpression)
        {
            ArgumentUtility.CheckNotNull("methodCallExpression", methodCallExpression);

            if (methodCallExpression.Arguments.Count == 1)
            {
                MethodCallTransformerUtility.CheckInstanceMethod(methodCallExpression);
                return(ConversionUtility.MakeBinaryWithOperandConversion(
                           ExpressionType.Equal, methodCallExpression.Object, methodCallExpression.Arguments[0], false, null));
            }
            else if (methodCallExpression.Arguments.Count == 2)
            {
                MethodCallTransformerUtility.CheckStaticMethod(methodCallExpression);
                return(ConversionUtility.MakeBinaryWithOperandConversion(
                           ExpressionType.Equal, methodCallExpression.Arguments[0], methodCallExpression.Arguments[1], false, null));
            }

            var message = string.Format(
                "{0} function with {1} arguments is not supported. Expression: '{2}'",
                methodCallExpression.Method.Name,
                methodCallExpression.Arguments.Count,
                methodCallExpression);

            throw new NotSupportedException(message);
        }
All Usage Examples Of Remotion.Linq.SqlBackend.SqlPreparation.MethodCallTransformers.MethodCallTransformerUtility::CheckInstanceMethod