Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for SequenceEqual #855

Closed
victorr99 opened this issue Nov 19, 2024 · 1 comment
Closed

Support for SequenceEqual #855

victorr99 opened this issue Nov 19, 2024 · 1 comment
Assignees
Labels

Comments

@victorr99
Copy link

1. Description

I'm trying to use the SequenceEqual method which doesn't seem to be supported. Since the documentation doesn't say this method should work, I would like to submit a feature request to add support for this method.

2. Exception

Unhandled exception. System.InvalidOperationException: No generic method 'SequenceEqual' on type 'System.Linq.Enumerable' is compatible with the supplied type arguments and arguments. No type arguments should be provided if the method is non-generic. 
   at System.Linq.Expressions.Expression.FindMethod(Type type, String methodName, Type[] typeArgs, Expression[] args, BindingFlags flags)
   at System.Linq.Expressions.Expression.Call(Type type, String methodName, Type[] typeArguments, Expression[] arguments)
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.TryParseEnumerable(Expression instance, Type elementType, String methodName, Int32 errorPos, Type type, Expression[]& args, Expression& expression) in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 2182
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseMemberAccess(Type type, Expression expression, String id) in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 1815
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParsePrimary() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 814
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseUnary() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 801
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseArithmetic() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 746
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseAdditive() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 713
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseShiftOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 689
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseComparisonOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 479
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseLogicalAndOrOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 411
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseIn() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 330
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseAndOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 313
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseOrOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 295
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseLambdaOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 273
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseNullCoalescingOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 260
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.ParseConditionalOperator() in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 244
   at System.Linq.Dynamic.Core.Parser.ExpressionParser.Parse(Type resultType, Boolean createParameterCtor) in C:\dev\GitHub\System.Linq.Dynamic.Core\src\System.Linq.Dynamic.Core\Parser\ExpressionParser.cs:line 159
   at Program.Main()

3. Fiddle or Project

https://dotnetfiddle.net/tjPDjf

var parameter = Expression.Parameter(typeof(Entity), "Entity");
		
var parser = new ExpressionParser(
	[parameter],
	"Entity.ArrayA.SequenceEqual(Entity.ArrayB)",
	null,
	null);

parser.Parse(typeof(bool));

public class Entity
{
	public string[] ArrayA { get; set; }

	public string[] ArrayB { get; set; }
}
@StefH StefH self-assigned this Dec 7, 2024
@StefH StefH added the feature label Dec 7, 2024
@StefH
Copy link
Collaborator

StefH commented Dec 7, 2024

#860

@StefH StefH closed this as completed Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants