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
- ArglessEventHandlerProxy.cs
- DbMetaDataFactory.cs
- ComponentManagerBroker.cs
- TemplateLookupAction.cs
- ResourceAssociationSet.cs
- Style.cs
- ComponentEvent.cs
- FileDataSourceCache.cs
- MachineKeySection.cs
- ClientCredentials.cs
- SQLMembershipProvider.cs
- InternalConfigRoot.cs
- SrgsElementFactoryCompiler.cs
- GregorianCalendar.cs
- DrawingBrush.cs
- MethodBody.cs
- CryptoKeySecurity.cs
- FillBehavior.cs
- DataMemberFieldConverter.cs
- PreloadedPackages.cs
- ChannelFactory.cs
- DivideByZeroException.cs
- X509CertificateCollection.cs
- ResourceReferenceExpression.cs
- Overlapped.cs
- CalculatedColumn.cs
- InvalidPrinterException.cs
- LinkedList.cs
- XmlSchemaSimpleType.cs
- SymbolPair.cs
- ADMembershipUser.cs
- GcHandle.cs
- BrowserCapabilitiesCompiler.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- Transform3DCollection.cs
- TimersDescriptionAttribute.cs
- SQLChars.cs
- Stroke2.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SessionIDManager.cs
- OleDbFactory.cs
- Version.cs
- DocumentPageView.cs
- MappingMetadataHelper.cs
- CodePageEncoding.cs
- LightweightEntityWrapper.cs
- DataGridViewColumnConverter.cs
- OptimizedTemplateContent.cs
- ProviderConnectionPoint.cs
- ColorTransformHelper.cs
- FastEncoderStatics.cs
- Pens.cs
- WindowsMenu.cs
- GenericUI.cs
- PatternMatcher.cs
- SqlAliaser.cs
- QueryContinueDragEvent.cs
- ArraySet.cs
- PersonalizationState.cs
- RegexWorker.cs
- Profiler.cs
- HttpProfileGroupBase.cs
- DataGridRelationshipRow.cs
- SqlTypeSystemProvider.cs
- Menu.cs
- BooleanConverter.cs
- DateTimeFormatInfoScanner.cs
- ThicknessKeyFrameCollection.cs
- CreatingCookieEventArgs.cs
- TypeSystem.cs
- TypeExtensionConverter.cs
- NetworkInformationPermission.cs
- ResumeStoryboard.cs
- XmlAttribute.cs
- IApplicationTrustManager.cs
- SystemException.cs
- Helpers.cs
- EncodingConverter.cs
- MappingModelBuildProvider.cs
- AxWrapperGen.cs
- SymbolType.cs
- HandlerElement.cs
- ButtonStandardAdapter.cs
- UInt16Storage.cs
- CheckBoxRenderer.cs
- InputLangChangeRequestEvent.cs
- ProcessThreadDesigner.cs
- ModelItemDictionaryImpl.cs
- SoapSchemaExporter.cs
- RelatedCurrencyManager.cs
- DataControlField.cs
- ErrorRuntimeConfig.cs
- Helper.cs
- CriticalHandle.cs
- Int16AnimationUsingKeyFrames.cs
- XmlSchemaSet.cs
- ZipIOLocalFileHeader.cs
- SerialPort.cs
- SqlConnection.cs
- FormViewPageEventArgs.cs