protected override Expression VisitMethodCall(MethodCallExpression node) { if (ListIndexerGenerator.IsMethodSupported(node.Method)) { _hasIndexer = true; return(base.Visit( node.Object == null ? Enumerable.First(node.Arguments) // q.Children.ElementAt(0) : node.Object // q.Children[0] )); } return(Visit(node)); }
protected override Expression VisitMethodCall(MethodCallExpression node) { if (ListIndexerGenerator.IsMethodSupported(node.Method)) { _hasIndexer = true; return(base.Visit( node.Object == null ? Enumerable.First(node.Arguments) // q.Children.ElementAt(0) : node.Object // q.Children[0] )); } if (VisitorUtil.TryGetPotentialDynamicComponentDictionaryMember(node, out var memberName)) { _memberPaths.Push(new MemberMetadata(memberName, _convertType, _hasIndexer)); _convertType = null; _hasIndexer = false; return(base.Visit(node.Object)); } return(Visit(node)); }