Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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
- SqlDataSourceQuery.cs
- GPPOINTF.cs
- SplayTreeNode.cs
- AppDomainFactory.cs
- AutomationPatternInfo.cs
- precedingquery.cs
- FileBasedResourceGroveler.cs
- hresults.cs
- EditableRegion.cs
- StylusLogic.cs
- _HeaderInfo.cs
- MailWriter.cs
- ReachIDocumentPaginatorSerializer.cs
- Font.cs
- ArrayList.cs
- SafeCancelMibChangeNotify.cs
- XsdValidatingReader.cs
- DataGridViewIntLinkedList.cs
- RelationshipEndCollection.cs
- DispatcherSynchronizationContext.cs
- Renderer.cs
- IPHostEntry.cs
- LoginDesigner.cs
- ProcessInputEventArgs.cs
- RestClientProxyHandler.cs
- SqlUserDefinedTypeAttribute.cs
- WebMessageFormatHelper.cs
- EmptyEnumerable.cs
- FileReservationCollection.cs
- Decorator.cs
- CompositeTypefaceMetrics.cs
- Char.cs
- HttpModuleActionCollection.cs
- DispatcherProcessingDisabled.cs
- SourceElementsCollection.cs
- Model3DGroup.cs
- ToolStripTemplateNode.cs
- FormattedTextSymbols.cs
- OutputWindow.cs
- TrackingConditionCollection.cs
- SendKeys.cs
- SizeAnimationClockResource.cs
- CharacterMetrics.cs
- TextAnchor.cs
- CacheMemory.cs
- ServiceHttpHandlerFactory.cs
- CodeConstructor.cs
- ByteRangeDownloader.cs
- InheritanceContextHelper.cs
- CultureInfoConverter.cs
- _BufferOffsetSize.cs
- DocumentSchemaValidator.cs
- CreateUserWizardStep.cs
- _emptywebproxy.cs
- TemplateBuilder.cs
- DomainUpDown.cs
- CustomMenuItemCollection.cs
- ReceiveContextCollection.cs
- TransformerInfo.cs
- SimpleMailWebEventProvider.cs
- XmlSerializerSection.cs
- DynamicMethod.cs
- DocumentationServerProtocol.cs
- path.cs
- GraphicsState.cs
- WindowsFormsLinkLabel.cs
- Tracking.cs
- RemotingServices.cs
- SHA256Managed.cs
- DelegateInArgument.cs
- AuthenticationServiceManager.cs
- TreeNodeBindingCollection.cs
- PropertyDescriptor.cs
- WebPartCollection.cs
- FixedTextBuilder.cs
- Point3DCollectionValueSerializer.cs
- PersistenceParticipant.cs
- Unit.cs
- BinaryWriter.cs
- FixedTextPointer.cs
- SiteMapProvider.cs
- DataBoundControl.cs
- FileReader.cs
- XmlSiteMapProvider.cs
- ProcessHostConfigUtils.cs
- CompiledRegexRunner.cs
- ViewEvent.cs
- WsdlEndpointConversionContext.cs
- PiiTraceSource.cs
- GraphicsPath.cs
- Rules.cs
- Range.cs
- SoapHelper.cs
- TypeSource.cs
- GuidConverter.cs
- OptimalTextSource.cs
- Convert.cs
- SqlDataReaderSmi.cs
- ReadWriteObjectLock.cs
- ImageCodecInfoPrivate.cs