Code:
/ DotNET / DotNET / 8.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
- SecurityChannelFactory.cs
- GridViewColumn.cs
- ConfigXmlCDataSection.cs
- FocusWithinProperty.cs
- HostDesigntimeLicenseContext.cs
- OperatingSystem.cs
- SymmetricAlgorithm.cs
- FileVersion.cs
- XamlWriter.cs
- AssociatedControlConverter.cs
- CriticalHandle.cs
- HttpHandlerAction.cs
- BaseInfoTable.cs
- FontStretch.cs
- SocketInformation.cs
- Privilege.cs
- ImageMetadata.cs
- CompilationRelaxations.cs
- WinFormsUtils.cs
- FragmentQueryProcessor.cs
- ParameterBuilder.cs
- SqlDataSourceQueryEditor.cs
- COMException.cs
- FontSourceCollection.cs
- MenuCommandsChangedEventArgs.cs
- SiteMapSection.cs
- WebSysDisplayNameAttribute.cs
- SafeCoTaskMem.cs
- DBDataPermission.cs
- ExpandoObject.cs
- RuntimeConfig.cs
- SubMenuStyleCollection.cs
- ServiceChannelManager.cs
- DataServiceClientException.cs
- DataGridViewSelectedRowCollection.cs
- InteropAutomationProvider.cs
- ProtocolReflector.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- ConfigurationManagerInternalFactory.cs
- DoubleKeyFrameCollection.cs
- DataControlLinkButton.cs
- InstanceCreationEditor.cs
- ControlValuePropertyAttribute.cs
- SecurityKeyType.cs
- StandardBindingOptionalReliableSessionElement.cs
- XmlConverter.cs
- BreakRecordTable.cs
- DocumentsTrace.cs
- NamespaceDecl.cs
- AccessDataSourceView.cs
- WindowsScroll.cs
- OpCodes.cs
- Scripts.cs
- Helpers.cs
- DataGridViewComboBoxEditingControl.cs
- ActivityExecutionContext.cs
- XamlTypeMapper.cs
- ApplicationGesture.cs
- FieldAccessException.cs
- StorageAssociationTypeMapping.cs
- BuildDependencySet.cs
- TextContainerChangedEventArgs.cs
- UnsafeNativeMethods.cs
- Soap.cs
- DocumentCollection.cs
- SharedStatics.cs
- SoapExtensionTypeElement.cs
- Pair.cs
- PackageRelationshipSelector.cs
- SudsParser.cs
- TraceInternal.cs
- EntityViewGenerationAttribute.cs
- GridViewColumn.cs
- BrushValueSerializer.cs
- SkipQueryOptionExpression.cs
- UInt16Converter.cs
- ComboBox.cs
- Double.cs
- WebContext.cs
- ButtonBaseAutomationPeer.cs
- Transform.cs
- VSWCFServiceContractGenerator.cs
- TextRangeProviderWrapper.cs
- GZipUtils.cs
- HtmlInputText.cs
- TextElement.cs
- UpdateRecord.cs
- XPathParser.cs
- EntitySqlQueryCacheKey.cs
- ConnectionStringSettings.cs
- ToolStripDesignerAvailabilityAttribute.cs
- LinqToSqlWrapper.cs
- coordinatorfactory.cs
- ObjectRef.cs
- DodSequenceMerge.cs
- ChangeBlockUndoRecord.cs
- MTConfigUtil.cs
- ClientFormsIdentity.cs
- XmlDataSource.cs
- XmlUtilWriter.cs