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
- PartialCachingControl.cs
- SpecialNameAttribute.cs
- ValidationHelpers.cs
- Crypto.cs
- WeakReference.cs
- ValueChangedEventManager.cs
- DefaultPrintController.cs
- SpnEndpointIdentityExtension.cs
- SymbolPair.cs
- TriggerActionCollection.cs
- TimelineGroup.cs
- VolatileResourceManager.cs
- Memoizer.cs
- XPathSelfQuery.cs
- _FtpDataStream.cs
- CFStream.cs
- MultiPartWriter.cs
- HtmlInputText.cs
- LZCodec.cs
- LockCookie.cs
- BitmapEffectCollection.cs
- WindowsScroll.cs
- PointLightBase.cs
- HtmlTableCell.cs
- PermissionSetEnumerator.cs
- ResourceDescriptionAttribute.cs
- SystemTcpStatistics.cs
- IDQuery.cs
- WmlPageAdapter.cs
- ImageInfo.cs
- DataContractJsonSerializer.cs
- SplitterCancelEvent.cs
- InkSerializer.cs
- OleDbParameterCollection.cs
- dtdvalidator.cs
- ResourceDescriptionAttribute.cs
- DiscreteKeyFrames.cs
- FormsAuthenticationTicket.cs
- FormatConvertedBitmap.cs
- RedirectionProxy.cs
- BaseTemplateParser.cs
- SiteMapNodeCollection.cs
- PreservationFileWriter.cs
- PostBackOptions.cs
- XmlSchemaComplexContentExtension.cs
- ToReply.cs
- QuotedPairReader.cs
- IPEndPoint.cs
- _FixedSizeReader.cs
- LabelTarget.cs
- PageOutputQuality.cs
- ConsoleKeyInfo.cs
- PeerObject.cs
- DictionaryEntry.cs
- ConfigWriter.cs
- ByteStream.cs
- UrlPath.cs
- Listen.cs
- BufferedReceiveElement.cs
- AutoResizedEvent.cs
- LinqDataSourceContextEventArgs.cs
- DbMetaDataCollectionNames.cs
- TextTreeUndo.cs
- StringComparer.cs
- GridViewSortEventArgs.cs
- diagnosticsswitches.cs
- DelegatingConfigHost.cs
- SystemResourceKey.cs
- complextypematerializer.cs
- ViewGenerator.cs
- PrePrepareMethodAttribute.cs
- Int16Animation.cs
- BroadcastEventHelper.cs
- RequestUriProcessor.cs
- AnonymousIdentificationSection.cs
- EntityRecordInfo.cs
- Number.cs
- TcpTransportSecurity.cs
- SqlClientMetaDataCollectionNames.cs
- DelegateBodyWriter.cs
- RecordConverter.cs
- Section.cs
- ResourceDisplayNameAttribute.cs
- IssuedSecurityTokenParameters.cs
- ConfigXmlText.cs
- ChtmlCalendarAdapter.cs
- XmlDownloadManager.cs
- ModifiableIteratorCollection.cs
- KeyValuePairs.cs
- ResourceDescriptionAttribute.cs
- MultitargetingHelpers.cs
- DataTableReaderListener.cs
- XmlAnyAttributeAttribute.cs
- TextEditorThreadLocalStore.cs
- DataGridViewColumnConverter.cs
- SqlDataSourceCustomCommandPanel.cs
- Pair.cs
- DoubleSumAggregationOperator.cs
- ConnectionConsumerAttribute.cs
- FrameworkElementFactory.cs