Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathSelectionIterator.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Mutex.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- RepeatBehaviorConverter.cs
- XmlTextWriter.cs
- PathFigureCollectionValueSerializer.cs
- DataSourceDesigner.cs
- EventLogger.cs
- CombinedHttpChannel.cs
- ArgumentOutOfRangeException.cs
- HttpsTransportElement.cs
- DataViewSettingCollection.cs
- SignatureHelper.cs
- KeyboardNavigation.cs
- ContextMarshalException.cs
- RegexStringValidatorAttribute.cs
- MetaModel.cs
- ObjectDataSourceStatusEventArgs.cs
- BindStream.cs
- RefreshPropertiesAttribute.cs
- OleDbDataReader.cs
- TemplateComponentConnector.cs
- XmlStreamStore.cs
- RadioButtonPopupAdapter.cs
- FamilyCollection.cs
- Helpers.cs
- D3DImage.cs
- PropertyEntry.cs
- FontDialog.cs
- JsonWriter.cs
- SystemColors.cs
- TdsParserSessionPool.cs
- EventSetter.cs
- ServiceModelPerformanceCounters.cs
- WindowsEditBoxRange.cs
- HotSpotCollectionEditor.cs
- XmlName.cs
- FontSizeConverter.cs
- Int16.cs
- StylusPlugInCollection.cs
- DataGridViewColumnEventArgs.cs
- CatchBlock.cs
- SqlGenericUtil.cs
- PageStatePersister.cs
- AliasExpr.cs
- CodeObjectCreateExpression.cs
- MemoryStream.cs
- StorageFunctionMapping.cs
- EncodingDataItem.cs
- TextEditor.cs
- XamlSerializerUtil.cs
- AQNBuilder.cs
- SoapSchemaImporter.cs
- CompositionAdorner.cs
- TextBox.cs
- WindowsListViewItemCheckBox.cs
- SizeFConverter.cs
- HttpProfileBase.cs
- DynamicPropertyReader.cs
- DataColumnMapping.cs
- TextRangeBase.cs
- UDPClient.cs
- Serializer.cs
- RegexTree.cs
- Screen.cs
- FormCollection.cs
- AssemblyHelper.cs
- ParameterCollection.cs
- DataListItem.cs
- autovalidator.cs
- CodeBlockBuilder.cs
- SystemIPv6InterfaceProperties.cs
- ScriptControlDescriptor.cs
- TraversalRequest.cs
- NestPullup.cs
- HttpContextBase.cs
- BindUriHelper.cs
- FileDialogCustomPlacesCollection.cs
- CellLabel.cs
- AssociationType.cs
- ResourceContainer.cs
- CompositeFontInfo.cs
- DescendantBaseQuery.cs
- WindowsAltTab.cs
- InputBinding.cs
- DataColumnMappingCollection.cs
- ObjectAnimationUsingKeyFrames.cs
- followingquery.cs
- GeneralTransformGroup.cs
- ListCollectionView.cs
- DataPagerFieldCommandEventArgs.cs
- WebServiceBindingAttribute.cs
- TextParagraph.cs
- XMLUtil.cs
- TextPenaltyModule.cs
- HashCodeCombiner.cs
- CookieHandler.cs
- EntityDataSourceView.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PolicyStatement.cs
- DocumentXPathNavigator.cs