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
- Ticks.cs
- DataKeyCollection.cs
- DoubleAnimationUsingKeyFrames.cs
- DataGridViewCellStateChangedEventArgs.cs
- BitmapInitialize.cs
- MetadataItemEmitter.cs
- UserInitiatedNavigationPermission.cs
- UniqueEventHelper.cs
- SoapFormatExtensions.cs
- MsmqTransportElement.cs
- ReflectTypeDescriptionProvider.cs
- ListViewDeletedEventArgs.cs
- Models.cs
- DefaultValueTypeConverter.cs
- BaseValidatorDesigner.cs
- GeometryGroup.cs
- WebPartEditorOkVerb.cs
- RoutedPropertyChangedEventArgs.cs
- ConfigurationStrings.cs
- Resources.Designer.cs
- Symbol.cs
- Preprocessor.cs
- SpellerStatusTable.cs
- Primitive.cs
- TextServicesCompartment.cs
- Suspend.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- configsystem.cs
- BindingList.cs
- ConfigXmlText.cs
- XmlSerializerVersionAttribute.cs
- DesignTimeParseData.cs
- SelectionChangedEventArgs.cs
- SmtpNtlmAuthenticationModule.cs
- ItemCheckEvent.cs
- SectionVisual.cs
- DoubleKeyFrameCollection.cs
- AsymmetricKeyExchangeDeformatter.cs
- StateDesigner.Helpers.cs
- AuthenticationSection.cs
- Misc.cs
- XmlSignificantWhitespace.cs
- DataServiceBuildProvider.cs
- SiteMapDataSource.cs
- AppSettings.cs
- TempFiles.cs
- LineMetrics.cs
- Margins.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- FixedSOMLineCollection.cs
- HTMLTextWriter.cs
- WindowsIdentity.cs
- DataGridViewLinkColumn.cs
- StringInfo.cs
- PassportAuthenticationModule.cs
- DictionaryTraceRecord.cs
- DependencyObjectType.cs
- XmlAnyElementAttribute.cs
- ExitEventArgs.cs
- CellParagraph.cs
- SafeEventLogWriteHandle.cs
- Composition.cs
- OperationAbortedException.cs
- ConfigXmlSignificantWhitespace.cs
- LicenseManager.cs
- LineBreak.cs
- CustomValidator.cs
- BCLDebug.cs
- CancelEventArgs.cs
- CornerRadius.cs
- IdentityValidationException.cs
- ApplicationSecurityInfo.cs
- EntitySet.cs
- MetadataFile.cs
- Label.cs
- ProxyAttribute.cs
- BaseCodePageEncoding.cs
- FormViewUpdatedEventArgs.cs
- HyperLinkStyle.cs
- ContentTextAutomationPeer.cs
- Validator.cs
- SQLDouble.cs
- MultiSelector.cs
- ExtendedTransformFactory.cs
- RemotingServices.cs
- DetailsViewInsertEventArgs.cs
- SecurityContextKeyIdentifierClause.cs
- PropertyNames.cs
- ListViewEditEventArgs.cs
- SqlDataReaderSmi.cs
- Metafile.cs
- HttpServerVarsCollection.cs
- ObjectConverter.cs
- IsolatedStorageFile.cs
- Hashtable.cs
- ContentOperations.cs
- AdjustableArrowCap.cs
- mda.cs
- DragDrop.cs
- AdvancedBindingEditor.cs