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
- FormsAuthenticationConfiguration.cs
- LocalizationParserHooks.cs
- SoapEnumAttribute.cs
- UriSectionReader.cs
- BamlLocalizableResourceKey.cs
- BufferedGraphics.cs
- SQLBoolean.cs
- PresentationTraceSources.cs
- LockedBorderGlyph.cs
- TargetInvocationException.cs
- FileDialogCustomPlace.cs
- Vector3DAnimationUsingKeyFrames.cs
- PersonalizationEntry.cs
- XmlFormatExtensionPrefixAttribute.cs
- ObjectFullSpanRewriter.cs
- TemplateManager.cs
- LineUtil.cs
- SqlDataSourceCustomCommandEditor.cs
- ControlCollection.cs
- EventHandlersDesigner.cs
- Internal.cs
- FormsIdentity.cs
- KnownTypeAttribute.cs
- DispatcherTimer.cs
- MDIControlStrip.cs
- MDIWindowDialog.cs
- IndexedWhereQueryOperator.cs
- DataGridViewAdvancedBorderStyle.cs
- AccessedThroughPropertyAttribute.cs
- CheckBox.cs
- SecurityState.cs
- SmiEventSink_DeferedProcessing.cs
- ILGenerator.cs
- QuadraticBezierSegment.cs
- Verify.cs
- TemplatedControlDesigner.cs
- SoapExtensionImporter.cs
- DocumentOrderComparer.cs
- ServerType.cs
- CssClassPropertyAttribute.cs
- ImageListUtils.cs
- XmlHierarchicalEnumerable.cs
- ButtonChrome.cs
- XmlILConstructAnalyzer.cs
- LeafCellTreeNode.cs
- BufferModeSettings.cs
- FixedSOMTableRow.cs
- Evidence.cs
- Util.cs
- InputDevice.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ToolstripProfessionalRenderer.cs
- ServiceContractListItem.cs
- EqualityComparer.cs
- HeaderUtility.cs
- CodeDomComponentSerializationService.cs
- RoutedEventHandlerInfo.cs
- PackageProperties.cs
- CompositeFontInfo.cs
- CodeCompileUnit.cs
- RuntimeConfig.cs
- TextChange.cs
- DbConvert.cs
- ActiveXMessageFormatter.cs
- EdmPropertyAttribute.cs
- SelectionPatternIdentifiers.cs
- Item.cs
- ReflectionTypeLoadException.cs
- XsltArgumentList.cs
- ellipse.cs
- Win32SafeHandles.cs
- ErrorHandler.cs
- InkCanvasSelectionAdorner.cs
- DbXmlEnabledProviderManifest.cs
- OdbcConnectionHandle.cs
- ContainerParagraph.cs
- HwndKeyboardInputProvider.cs
- SaveFileDialog.cs
- CodeSnippetStatement.cs
- DateBoldEvent.cs
- StylusButtonCollection.cs
- CfgParser.cs
- ObjRef.cs
- SqlConnectionFactory.cs
- TextTrailingWordEllipsis.cs
- XmlEnumAttribute.cs
- CriticalFinalizerObject.cs
- SqlNodeTypeOperators.cs
- AttributeTable.cs
- CacheRequest.cs
- SafeIUnknown.cs
- DataKeyArray.cs
- BatchParser.cs
- KeyGesture.cs
- AssemblyHash.cs
- ChtmlPhoneCallAdapter.cs
- PrintPageEvent.cs
- WebPartsPersonalization.cs
- X509SecurityTokenProvider.cs
- MetadataPropertyCollection.cs