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);
}