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
- VectorValueSerializer.cs
- BevelBitmapEffect.cs
- SqlMethodAttribute.cs
- Stylesheet.cs
- MultiPartWriter.cs
- Transactions.cs
- BatchParser.cs
- ToolStripManager.cs
- CancellationToken.cs
- FileLogRecordEnumerator.cs
- HostedController.cs
- CustomErrorCollection.cs
- GridEntryCollection.cs
- StylusCollection.cs
- BaseTemplateBuildProvider.cs
- RootBuilder.cs
- ClientBuildManager.cs
- PackagePartCollection.cs
- TimelineClockCollection.cs
- HttpRawResponse.cs
- MyContact.cs
- VisualStateGroup.cs
- ExtendedProtectionPolicyElement.cs
- TextSimpleMarkerProperties.cs
- WpfMemberInvoker.cs
- XmlSchemaExternal.cs
- MarginsConverter.cs
- SpeechSeg.cs
- ByeMessage11.cs
- FormViewDeleteEventArgs.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ToolStripMenuItem.cs
- BuilderPropertyEntry.cs
- EmissiveMaterial.cs
- Timer.cs
- Expr.cs
- StrongNameKeyPair.cs
- SqlAliasesReferenced.cs
- FormatControl.cs
- FirewallWrapper.cs
- AuthenticationService.cs
- XsdDataContractExporter.cs
- SqlConnectionFactory.cs
- Symbol.cs
- CompiledRegexRunner.cs
- Expressions.cs
- TreeViewAutomationPeer.cs
- AnonymousIdentificationModule.cs
- QueryPrefixOp.cs
- UpDownBase.cs
- VisualProxy.cs
- PartialCachingAttribute.cs
- CollectionTypeElement.cs
- RegexCompiler.cs
- _ListenerRequestStream.cs
- ContentDesigner.cs
- CopyAction.cs
- BlockUIContainer.cs
- SecurityState.cs
- formatter.cs
- ReflectEventDescriptor.cs
- LambdaCompiler.Statements.cs
- SystemTcpStatistics.cs
- EntityParameterCollection.cs
- Transform3DGroup.cs
- Win32NamedPipes.cs
- DataViewListener.cs
- ListViewContainer.cs
- RawStylusInputCustomData.cs
- MonthChangedEventArgs.cs
- WFItemsToSpacerVisibility.cs
- _TimerThread.cs
- BasicExpandProvider.cs
- SafeFileMappingHandle.cs
- ErrorWrapper.cs
- WinInetCache.cs
- CredentialCache.cs
- PasswordRecoveryAutoFormat.cs
- Trustee.cs
- SystemColors.cs
- InkCollectionBehavior.cs
- Int64Animation.cs
- ConstraintStruct.cs
- System.Data_BID.cs
- TableCell.cs
- FormsAuthenticationUser.cs
- VectorValueSerializer.cs
- SqlConnectionFactory.cs
- TableRowGroup.cs
- SourceItem.cs
- StorageRoot.cs
- NullableDoubleMinMaxAggregationOperator.cs
- ToolboxBitmapAttribute.cs
- UrlMappingCollection.cs
- PostBackOptions.cs
- MutexSecurity.cs
- BindingContext.cs
- PolyBezierSegment.cs
- OpacityConverter.cs
- UnsafeNativeMethods.cs