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
- UrlRoutingHandler.cs
- Int64AnimationBase.cs
- StreamGeometry.cs
- DataGridPageChangedEventArgs.cs
- FindCriteria11.cs
- ActiveXSite.cs
- TransformerConfigurationWizardBase.cs
- NameObjectCollectionBase.cs
- KeyEvent.cs
- SHA384Managed.cs
- SqlSupersetValidator.cs
- NavigatingCancelEventArgs.cs
- EncryptedData.cs
- Matrix.cs
- Base64Stream.cs
- GraphicsContext.cs
- TreeView.cs
- LocalBuilder.cs
- EastAsianLunisolarCalendar.cs
- WsiProfilesElementCollection.cs
- RichTextBoxAutomationPeer.cs
- SQLDateTime.cs
- PreDigestedSignedInfo.cs
- StringSource.cs
- CellParagraph.cs
- RepeatButtonAutomationPeer.cs
- SkipStoryboardToFill.cs
- ParseElementCollection.cs
- RegexTree.cs
- PhotoPrintingIntent.cs
- VerticalAlignConverter.cs
- ToolStripSystemRenderer.cs
- ControlCollection.cs
- EncryptedPackage.cs
- DesignerTextBoxAdapter.cs
- Vector3DAnimation.cs
- XhtmlBasicTextViewAdapter.cs
- DefaultPropertyAttribute.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- NativeMethods.cs
- XPathMessageFilter.cs
- XmlSchemaParticle.cs
- ToolBarTray.cs
- ProfileService.cs
- Stack.cs
- HitTestParameters.cs
- ArrayList.cs
- IndexedEnumerable.cs
- XmlWhitespace.cs
- WorkflowMarkupSerializer.cs
- FontFamilyIdentifier.cs
- PrintPreviewControl.cs
- DesignerDataColumn.cs
- CodeAccessSecurityEngine.cs
- ChannelCacheSettings.cs
- RelationshipType.cs
- InputScope.cs
- SecondaryViewProvider.cs
- XsltException.cs
- ConstructorBuilder.cs
- CAGDesigner.cs
- ReachSerializationUtils.cs
- Drawing.cs
- CodeExpressionRuleDeclaration.cs
- TraceUtility.cs
- CellParaClient.cs
- KeyValuePairs.cs
- SafeRegistryHandle.cs
- OfTypeExpression.cs
- KnownColorTable.cs
- SQLResource.cs
- MsmqIntegrationSecurityMode.cs
- RewritingProcessor.cs
- CatalogPart.cs
- UpdateTranslator.cs
- XmlSchemaAnnotated.cs
- WorkingDirectoryEditor.cs
- BaseDataBoundControl.cs
- Quad.cs
- NumericUpDown.cs
- DeobfuscatingStream.cs
- TypeUtil.cs
- DefaultPropertyAttribute.cs
- CommandHelpers.cs
- RequestResizeEvent.cs
- EnumMemberAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- MulticastIPAddressInformationCollection.cs
- CodeDirectionExpression.cs
- SafeCertificateStore.cs
- ListParaClient.cs
- StreamReader.cs
- XmlAttributeOverrides.cs
- ObjectToModelValueConverter.cs
- BitmapCodecInfo.cs
- Bidi.cs
- CanonicalXml.cs
- AsynchronousChannelMergeEnumerator.cs
- DataRelationCollection.cs
- DrawingGroup.cs