Code:
/ FX-1434 / FX-1434 / 1.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
- PrimitiveXmlSerializers.cs
- DataGridViewComboBoxEditingControl.cs
- FontNameConverter.cs
- SecurityPermission.cs
- CheckBoxBaseAdapter.cs
- ChannelManager.cs
- safelink.cs
- PathSegment.cs
- RegexWriter.cs
- CrossAppDomainChannel.cs
- TerminatorSinks.cs
- ArraySet.cs
- StorageTypeMapping.cs
- DataControlPagerLinkButton.cs
- CommandBindingCollection.cs
- CultureMapper.cs
- TextRangeAdaptor.cs
- XmlFormatWriterGenerator.cs
- DelegateSerializationHolder.cs
- EmptyStringExpandableObjectConverter.cs
- XmlDocumentFragment.cs
- RenderingBiasValidation.cs
- StrongName.cs
- ToolStripItemCollection.cs
- FamilyMap.cs
- DetailsViewRowCollection.cs
- ChangePassword.cs
- AspProxy.cs
- DisplayMemberTemplateSelector.cs
- ListViewSelectEventArgs.cs
- ToolStripRenderEventArgs.cs
- DataGridItemCollection.cs
- ValueQuery.cs
- XmlChildEnumerator.cs
- EvidenceTypeDescriptor.cs
- SqlClientMetaDataCollectionNames.cs
- ToolStripHighContrastRenderer.cs
- AvtEvent.cs
- BinaryFormatterSinks.cs
- FormParameter.cs
- EncoderFallback.cs
- StructuralType.cs
- RubberbandSelector.cs
- DataObjectEventArgs.cs
- sqlinternaltransaction.cs
- Context.cs
- ExpressionBinding.cs
- TypeDescriptorContext.cs
- OdbcConnectionStringbuilder.cs
- JoinQueryOperator.cs
- PolicyStatement.cs
- SecUtil.cs
- CollectionView.cs
- PeerContact.cs
- DaylightTime.cs
- EntitySetBase.cs
- TextEffect.cs
- XmlSchemaObject.cs
- SynchronizationScope.cs
- SynchronizingStream.cs
- SubMenuStyle.cs
- DeferrableContent.cs
- UserInitiatedNavigationPermission.cs
- CrossSiteScriptingValidation.cs
- SByteConverter.cs
- CombinedTcpChannel.cs
- ConcurrentBag.cs
- SoapExtensionReflector.cs
- InvalidWorkflowException.cs
- NullableIntAverageAggregationOperator.cs
- SchemaImporterExtensionElementCollection.cs
- COSERVERINFO.cs
- ManualResetEvent.cs
- ServerIdentity.cs
- FrameDimension.cs
- ObjectStateEntry.cs
- QueryOutputWriter.cs
- Matrix.cs
- ExternalException.cs
- COM2Enum.cs
- SourceInterpreter.cs
- CustomTypeDescriptor.cs
- DataGridView.cs
- Sql8ExpressionRewriter.cs
- DictionaryEntry.cs
- TrustManagerMoreInformation.cs
- ObjectDataSourceEventArgs.cs
- FormsAuthenticationCredentials.cs
- ButtonDesigner.cs
- MultiPageTextView.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- AlphaSortedEnumConverter.cs
- RecordConverter.cs
- CallTemplateAction.cs
- ServiceModelConfigurationSection.cs
- NavigationWindow.cs
- XmlSignificantWhitespace.cs
- ToolConsole.cs
- MemberProjectionIndex.cs
- IssuanceLicense.cs