System.Xml.Xsl.Runtime.XPathFollowingMergeIterator.MoveFailed C# (CSharp) Méthode

MoveFailed() private méthode

Called when an attempt to move to a following node failed. If a Next node exists, then make that the new candidate current node. Otherwise, iteration is complete.
private MoveFailed ( ) : IteratorResult
Résultat IteratorResult
        private IteratorResult MoveFailed() {
            XPathNavigator navTemp;
            Debug.Assert(this.state == IteratorState.HaveCurrentHaveNext || this.state == IteratorState.HaveCurrentNoNext);

            if (this.state == IteratorState.HaveCurrentNoNext) {
                // No more nodes, so iteration is complete
                this.state = IteratorState.NeedCandidateCurrent;
                return IteratorResult.NoMoreNodes;
            }

            // Make next node the new candidate node
            this.state = IteratorState.HaveCandidateCurrent;

            // Swap navigators in order to sometimes avoid creating clones
            navTemp = this.navCurrent;
            this.navCurrent = this.navNext;
            this.navNext = navTemp;

            return IteratorResult.NeedInputNode;
        }