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
- ServiceContractListItemList.cs
- addressfiltermode.cs
- oledbmetadatacolumnnames.cs
- Rect3DValueSerializer.cs
- DefaultProxySection.cs
- Currency.cs
- ResourcePermissionBase.cs
- Merger.cs
- MenuItemStyleCollection.cs
- ButtonAutomationPeer.cs
- HotSpotCollection.cs
- DataGridViewButtonColumn.cs
- IEnumerable.cs
- PropertyEmitterBase.cs
- MissingSatelliteAssemblyException.cs
- StylusButton.cs
- querybuilder.cs
- BitmapData.cs
- ContainerControlDesigner.cs
- DataList.cs
- DBSqlParserColumn.cs
- IsolatedStorageFilePermission.cs
- DataServices.cs
- ManagementObjectCollection.cs
- CatalogZone.cs
- HttpResponseInternalBase.cs
- DecimalAnimationUsingKeyFrames.cs
- SecurityDocument.cs
- CompilationUtil.cs
- AnimationException.cs
- CredentialCache.cs
- ModuleElement.cs
- TableRow.cs
- UnsafeNativeMethods.cs
- EntityContainerEmitter.cs
- WindowsFont.cs
- RepeatInfo.cs
- CodeExpressionCollection.cs
- ValidationErrorCollection.cs
- AuthStoreRoleProvider.cs
- BlockingCollection.cs
- CommandLibraryHelper.cs
- ReadOnlyPropertyMetadata.cs
- XmlQueryOutput.cs
- ClientApiGenerator.cs
- SafeEventLogWriteHandle.cs
- PointConverter.cs
- SerializationTrace.cs
- TextDecorations.cs
- SchemaMerger.cs
- ProgressiveCrcCalculatingStream.cs
- BitmapEffectDrawingContent.cs
- ThreadNeutralSemaphore.cs
- DynamicDataManager.cs
- PrintPreviewGraphics.cs
- ScriptReferenceBase.cs
- SingleSelectRootGridEntry.cs
- AggregateNode.cs
- CodeVariableReferenceExpression.cs
- PipelineModuleStepContainer.cs
- InvalidProgramException.cs
- SpecialTypeDataContract.cs
- JoinElimination.cs
- CachedFontFace.cs
- ReadWriteSpinLock.cs
- ServiceHostingEnvironment.cs
- ExtentCqlBlock.cs
- FileSystemEventArgs.cs
- PropertyContainer.cs
- SecurityPolicySection.cs
- VerificationAttribute.cs
- TypedTableBase.cs
- CreateRefExpr.cs
- Simplifier.cs
- ContentType.cs
- Wizard.cs
- SQLByteStorage.cs
- TextEditorTyping.cs
- WindowsServiceCredential.cs
- SoapSchemaImporter.cs
- GACIdentityPermission.cs
- UserPreferenceChangingEventArgs.cs
- ComponentConverter.cs
- TargetInvocationException.cs
- DefaultTraceListener.cs
- AspProxy.cs
- CodeDomConfigurationHandler.cs
- BooleanKeyFrameCollection.cs
- Dynamic.cs
- ClientScriptManager.cs
- DecoderBestFitFallback.cs
- SystemIPv6InterfaceProperties.cs
- XmlExpressionDumper.cs
- PropertyOrder.cs
- Header.cs
- SessionViewState.cs
- ListView.cs
- DataTableNewRowEvent.cs
- Keywords.cs
- TextInfo.cs