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
- AsyncOperationManager.cs
- DataControlFieldHeaderCell.cs
- EndpointDiscoveryBehavior.cs
- SafeCryptContextHandle.cs
- FigureHelper.cs
- HttpProfileBase.cs
- BuiltInExpr.cs
- DesignerAdapterAttribute.cs
- HyperLinkField.cs
- PointHitTestParameters.cs
- OdbcUtils.cs
- PolyQuadraticBezierSegment.cs
- BindingList.cs
- WindowHideOrCloseTracker.cs
- ReadingWritingEntityEventArgs.cs
- TextServicesLoader.cs
- State.cs
- RC2.cs
- SqlComparer.cs
- LinkConverter.cs
- StorageRoot.cs
- RefreshEventArgs.cs
- Int64Converter.cs
- TextCompositionEventArgs.cs
- RolePrincipal.cs
- CryptoKeySecurity.cs
- TraceEventCache.cs
- NativeWindow.cs
- Vector3DCollectionConverter.cs
- EmbeddedMailObject.cs
- ConfigViewGenerator.cs
- Selector.cs
- PrintController.cs
- MultidimensionalArrayItemReference.cs
- SocketPermission.cs
- EntityCommandCompilationException.cs
- RegexCharClass.cs
- GridViewRowEventArgs.cs
- ConfigXmlCDataSection.cs
- EncryptedType.cs
- SqlConnectionFactory.cs
- PowerStatus.cs
- DrawingBrush.cs
- XmlUtilWriter.cs
- EndSelectCardRequest.cs
- TransformCollection.cs
- SessionIDManager.cs
- XPathEmptyIterator.cs
- relpropertyhelper.cs
- _AutoWebProxyScriptEngine.cs
- DocumentPaginator.cs
- TableStyle.cs
- LineSegment.cs
- SqlUDTStorage.cs
- NativeMethodsCLR.cs
- DataGridViewLayoutData.cs
- ItemsPresenter.cs
- ValuePattern.cs
- SqlRewriteScalarSubqueries.cs
- XmlName.cs
- InvalidOperationException.cs
- StandardToolWindows.cs
- WebPartHelpVerb.cs
- SqlConnectionManager.cs
- ExceptionUtility.cs
- SqlRowUpdatingEvent.cs
- tibetanshape.cs
- TaskDesigner.cs
- UpdateExpressionVisitor.cs
- _LoggingObject.cs
- X509CertificateCollection.cs
- SqlClientMetaDataCollectionNames.cs
- UriScheme.cs
- WorkerRequest.cs
- SocketAddress.cs
- DynamicUpdateCommand.cs
- MultilineStringConverter.cs
- HttpModuleCollection.cs
- TableProviderWrapper.cs
- ClientConvert.cs
- DesigntimeLicenseContextSerializer.cs
- AsynchronousChannel.cs
- ConnectionManagementSection.cs
- CodeTypeOfExpression.cs
- TrackingValidationObjectDictionary.cs
- XmlIncludeAttribute.cs
- OdbcConnection.cs
- DocumentViewer.cs
- DBSchemaTable.cs
- ParserStreamGeometryContext.cs
- SelectionManager.cs
- IconBitmapDecoder.cs
- CacheOutputQuery.cs
- HMACRIPEMD160.cs
- SmiEventStream.cs
- FormViewDeleteEventArgs.cs
- DictionarySurrogate.cs
- Subtree.cs
- StateInitializationDesigner.cs
- FileNameEditor.cs