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
- MouseActionConverter.cs
- StringValueConverter.cs
- InstallerTypeAttribute.cs
- ToolStripContentPanelRenderEventArgs.cs
- SQLSingleStorage.cs
- TimerElapsedEvenArgs.cs
- ButtonFieldBase.cs
- TemplateAction.cs
- FunctionImportElement.cs
- UrlMappingsSection.cs
- ListSortDescription.cs
- SafeNativeMethods.cs
- StrokeFIndices.cs
- TypeViewSchema.cs
- CodeMethodReturnStatement.cs
- BaseParagraph.cs
- EntityParameterCollection.cs
- JulianCalendar.cs
- EventLog.cs
- Group.cs
- HttpModuleActionCollection.cs
- ViewGenResults.cs
- QilName.cs
- DbMetaDataCollectionNames.cs
- PathGeometry.cs
- TileBrush.cs
- TableItemPattern.cs
- LambdaSerializationException.cs
- Point3D.cs
- ElasticEase.cs
- SymmetricCryptoHandle.cs
- SizeConverter.cs
- StreamHelper.cs
- EntityCommandCompilationException.cs
- WebResourceUtil.cs
- mediaclock.cs
- SqlTypesSchemaImporter.cs
- FunctionImportElement.cs
- CapabilitiesState.cs
- ScriptControlManager.cs
- ObjectDataSourceView.cs
- CompositeCollection.cs
- EncodingInfo.cs
- NavigationService.cs
- XamlDesignerSerializationManager.cs
- SystemNetHelpers.cs
- FormsAuthenticationModule.cs
- DataServiceSaveChangesEventArgs.cs
- AssemblyNameEqualityComparer.cs
- PreviewPageInfo.cs
- Token.cs
- VarInfo.cs
- Compiler.cs
- TableAdapterManagerHelper.cs
- XmlQualifiedName.cs
- ProcessHostConfigUtils.cs
- ComponentResourceKeyConverter.cs
- TrustLevelCollection.cs
- PopupRootAutomationPeer.cs
- ToolStripCustomTypeDescriptor.cs
- FormViewUpdatedEventArgs.cs
- DesignerActionGlyph.cs
- codemethodreferenceexpression.cs
- PocoEntityKeyStrategy.cs
- Encoding.cs
- RouteParametersHelper.cs
- ChameleonKey.cs
- CaseInsensitiveComparer.cs
- KeyValueSerializer.cs
- InstanceValue.cs
- OdbcPermission.cs
- RegexTypeEditor.cs
- QueueSurrogate.cs
- VectorAnimationBase.cs
- CompilationLock.cs
- LinqToSqlWrapper.cs
- CompilationRelaxations.cs
- wgx_render.cs
- ClusterRegistryConfigurationProvider.cs
- PenThread.cs
- ExtensibleClassFactory.cs
- WebUtil.cs
- SyndicationElementExtensionCollection.cs
- ConfigXmlCDataSection.cs
- Logging.cs
- Timer.cs
- QilVisitor.cs
- DbExpressionVisitor_TResultType.cs
- TypeConverterAttribute.cs
- Block.cs
- ContainerControl.cs
- baseshape.cs
- DrawListViewSubItemEventArgs.cs
- TreeViewItem.cs
- SoapHelper.cs
- SettingsSection.cs
- HostProtectionPermission.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- KnownBoxes.cs
- XmlUrlEditor.cs