Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathDescendantIterator.cs / 2 / XPathDescendantIterator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System.Xml.XPath; internal class XPathDescendantIterator: XPathAxisIterator { private int level = 0; public XPathDescendantIterator(XPathNavigator nav, XPathNodeType type, bool matchSelf) : base(nav, type, matchSelf) {} public XPathDescendantIterator(XPathNavigator nav, string name, string namespaceURI, bool matchSelf) : base(nav, name, namespaceURI, matchSelf) {} public XPathDescendantIterator(XPathDescendantIterator it) : base(it) { this.level = it.level; } public override XPathNodeIterator Clone() { return new XPathDescendantIterator(this); } public override bool MoveNext() { if (first) { first = false; if (matchSelf && Matches) { position = 1; return true; } } while (true) { if (nav.MoveToFirstChild()) { level++; } else { while (true) { if (level == 0) { return false; } if (nav.MoveToNext()) { break; } nav.MoveToParent(); level--; } } if (Matches) { position++; return true; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartTransformerCollection.cs
- DataGridViewAutoSizeModeEventArgs.cs
- AsyncStreamReader.cs
- PropertyMapper.cs
- PolicyReader.cs
- MatrixCamera.cs
- TraceLevelStore.cs
- DataGridItem.cs
- isolationinterop.cs
- StickyNoteHelper.cs
- StructuralObject.cs
- RemoteWebConfigurationHostStream.cs
- ChineseLunisolarCalendar.cs
- Attributes.cs
- Error.cs
- PrinterResolution.cs
- WebPartsSection.cs
- DateTimeFormat.cs
- PieceDirectory.cs
- PresentationAppDomainManager.cs
- HtmlLabelAdapter.cs
- SplitContainer.cs
- MemberDescriptor.cs
- SqlTrackingService.cs
- SystemBrushes.cs
- FixedSOMPage.cs
- SimpleApplicationHost.cs
- ZipFileInfoCollection.cs
- MulticastNotSupportedException.cs
- TypeBuilderInstantiation.cs
- XPathNodeInfoAtom.cs
- QueryExpr.cs
- DataGridRowHeaderAutomationPeer.cs
- Executor.cs
- TrackingQueryElement.cs
- Pkcs9Attribute.cs
- SiblingIterators.cs
- FullTrustAssembly.cs
- DragDeltaEventArgs.cs
- SynchronizationContext.cs
- MarginCollapsingState.cs
- ServiceObjectContainer.cs
- DispatcherEventArgs.cs
- EdmType.cs
- UnauthorizedAccessException.cs
- SmiGettersStream.cs
- RelationshipEndMember.cs
- ControlOperationBehavior.cs
- Stroke2.cs
- HttpCapabilitiesEvaluator.cs
- DefaultHttpHandler.cs
- IndicShape.cs
- ComponentGlyph.cs
- DurableServiceAttribute.cs
- SqlNodeTypeOperators.cs
- ProgressBar.cs
- TransformValueSerializer.cs
- EventArgs.cs
- ScalarType.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- PasswordDeriveBytes.cs
- SqlOuterApplyReducer.cs
- XmlComment.cs
- Camera.cs
- SectionInformation.cs
- CompilationRelaxations.cs
- ObjectSelectorEditor.cs
- EntityDataSourceDesignerHelper.cs
- CreateUserWizard.cs
- PublisherMembershipCondition.cs
- AppDomainManager.cs
- ContentElement.cs
- PrintController.cs
- BindingContext.cs
- SecurityPermission.cs
- SqlFunctionAttribute.cs
- TableDesigner.cs
- SHA1Cng.cs
- ImpersonateTokenRef.cs
- FixedPosition.cs
- BamlBinaryWriter.cs
- DateTimeConstantAttribute.cs
- TraceContextEventArgs.cs
- EventDescriptor.cs
- DbBuffer.cs
- ListSortDescription.cs
- Aggregates.cs
- MarkupObject.cs
- SimpleRecyclingCache.cs
- ServiceEndpointCollection.cs
- Funcletizer.cs
- AttributeCollection.cs
- SqlException.cs
- ByValueEqualityComparer.cs
- ManagedIStream.cs
- BoundColumn.cs
- DataObject.cs
- XsdBuildProvider.cs
- Window.cs
- GridView.cs