Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathSelectionIterator.cs / 1 / XPathSelectionIterator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace MS.Internal.Xml.XPath { using System; using System.Xml; using System.Xml.XPath; using System.Diagnostics; using System.Globalization; // We need this wrapper object to: // 1. Calculate position // 2. Protect internal query.Current from user who may call MoveNext(). internal class XPathSelectionIterator : ResetableIterator { private XPathNavigator nav; private Query query; private int position; internal XPathSelectionIterator(XPathNavigator nav, Query query) { this.nav = nav.Clone(); this.query = query; } protected XPathSelectionIterator(XPathSelectionIterator it) { this.nav = it.nav.Clone(); this.query = (Query) it.query.Clone(); this.position = it.position; } public override void Reset() { this.query.Reset(); } public override bool MoveNext() { XPathNavigator n = query.Advance(); if( n != null ) { position++; if (!nav.MoveTo(n)) { nav = n.Clone(); } return true; } return false; } public override int Count { get { return query.Count; } } public override XPathNavigator Current { get { return nav; } } public override int CurrentPosition { get { return position; } } public override XPathNodeIterator Clone() { return new XPathSelectionIterator(this); } } } // 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
- ScrollEventArgs.cs
- PassportIdentity.cs
- InvalidProgramException.cs
- SimpleExpression.cs
- CompensationDesigner.cs
- DataBoundControl.cs
- FormatterServices.cs
- sqlstateclientmanager.cs
- ProcessHostMapPath.cs
- StatusBarItem.cs
- GridSplitter.cs
- RelatedPropertyManager.cs
- ScriptResourceHandler.cs
- EventLogHandle.cs
- AtomEntry.cs
- DataGridParentRows.cs
- VisualStyleInformation.cs
- CustomErrorsSectionWrapper.cs
- AttributeUsageAttribute.cs
- DataException.cs
- ContextProperty.cs
- MethodSet.cs
- RowParagraph.cs
- ParsedAttributeCollection.cs
- MatchingStyle.cs
- DependencyObject.cs
- ListMarkerSourceInfo.cs
- SoapInteropTypes.cs
- CommandConverter.cs
- ValidatingReaderNodeData.cs
- StringInfo.cs
- ButtonChrome.cs
- CacheSection.cs
- StopRoutingHandler.cs
- MouseDevice.cs
- TransformCryptoHandle.cs
- ProjectionAnalyzer.cs
- IPEndPointCollection.cs
- ContextProperty.cs
- ToolStripItemCollection.cs
- ObjectDataSource.cs
- ViewValidator.cs
- DateTime.cs
- MsmqAppDomainProtocolHandler.cs
- DataBindingHandlerAttribute.cs
- _HTTPDateParse.cs
- CollectionView.cs
- CatalogPartChrome.cs
- XmlIlGenerator.cs
- MemberPath.cs
- ProxyGenerator.cs
- WriteFileContext.cs
- BrowserDefinitionCollection.cs
- SimpleRecyclingCache.cs
- DebugHandleTracker.cs
- DateTimeOffset.cs
- StringUtil.cs
- TokenBasedSet.cs
- sqlstateclientmanager.cs
- RowUpdatedEventArgs.cs
- ConvertBinder.cs
- ViewKeyConstraint.cs
- RowSpanVector.cs
- RoutedPropertyChangedEventArgs.cs
- ToolStripStatusLabel.cs
- _SingleItemRequestCache.cs
- ComplexPropertyEntry.cs
- DataSourceCache.cs
- CharacterHit.cs
- RuntimeResourceSet.cs
- IconConverter.cs
- QilStrConcat.cs
- Instrumentation.cs
- IODescriptionAttribute.cs
- BitmapEffectGroup.cs
- AttributeEmitter.cs
- TextEditorThreadLocalStore.cs
- SendMailErrorEventArgs.cs
- TextTreeInsertElementUndoUnit.cs
- OuterGlowBitmapEffect.cs
- ToolBarButtonClickEvent.cs
- AspNetPartialTrustHelpers.cs
- ExpandoClass.cs
- GridViewSelectEventArgs.cs
- ADMembershipUser.cs
- DPCustomTypeDescriptor.cs
- sitestring.cs
- AggregateException.cs
- SkewTransform.cs
- PresentationSource.cs
- WhileDesigner.xaml.cs
- XmlNotation.cs
- NestedContainer.cs
- Camera.cs
- ParserExtension.cs
- FormViewDeleteEventArgs.cs
- AssociationTypeEmitter.cs
- TextAdaptor.cs
- XsltLoader.cs
- CompilationUtil.cs