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
- HwndMouseInputProvider.cs
- DtdParser.cs
- ColumnCollection.cs
- DispatchChannelSink.cs
- Viewport3DVisual.cs
- BindingContext.cs
- OperationResponse.cs
- ProjectedWrapper.cs
- XmlException.cs
- BinaryObjectInfo.cs
- AnnotationStore.cs
- x509store.cs
- TreeViewAutomationPeer.cs
- StringCollectionEditor.cs
- CharEntityEncoderFallback.cs
- ClientTargetSection.cs
- serverconfig.cs
- RecordBuilder.cs
- SqlConnectionStringBuilder.cs
- Inline.cs
- MenuBase.cs
- ClientApiGenerator.cs
- EmptyEnumerator.cs
- XmlWrappingWriter.cs
- MenuItemCollectionEditor.cs
- Converter.cs
- JsonFormatMapping.cs
- ConfigurationException.cs
- BuildManager.cs
- MetadataUtilsSmi.cs
- HandleRef.cs
- XmlQueryTypeFactory.cs
- WpfXamlType.cs
- PropertyValueChangedEvent.cs
- ProgressBar.cs
- FormViewPagerRow.cs
- ToolStripCustomTypeDescriptor.cs
- OracleDataAdapter.cs
- DynamicResourceExtensionConverter.cs
- PeerCollaboration.cs
- ResponseBodyWriter.cs
- JsonByteArrayDataContract.cs
- UnorderedHashRepartitionStream.cs
- DbConnectionPool.cs
- OperatingSystem.cs
- OperationExecutionFault.cs
- TransactionCache.cs
- ColumnMapCopier.cs
- DataExpression.cs
- DataGridItem.cs
- XmlDataSourceView.cs
- SafeEventLogReadHandle.cs
- VerificationException.cs
- SharedConnectionWorkflowTransactionService.cs
- Opcode.cs
- NetPeerTcpBindingCollectionElement.cs
- GACIdentityPermission.cs
- ManualResetEvent.cs
- ObjectMemberMapping.cs
- oledbconnectionstring.cs
- PlainXmlWriter.cs
- ListViewCancelEventArgs.cs
- InkCanvasSelection.cs
- XPathCompileException.cs
- BlobPersonalizationState.cs
- embossbitmapeffect.cs
- GridErrorDlg.cs
- DiagnosticsConfigurationHandler.cs
- WorkflowValidationFailedException.cs
- XslTransform.cs
- Container.cs
- ProjectionPath.cs
- HelpEvent.cs
- ServiceOperation.cs
- DbMetaDataFactory.cs
- DragStartedEventArgs.cs
- PagerSettings.cs
- XmlCharCheckingReader.cs
- TypeTypeConverter.cs
- SafeLocalMemHandle.cs
- EmbossBitmapEffect.cs
- QueryableFilterUserControl.cs
- Overlapped.cs
- CompiledQuery.cs
- Int16.cs
- isolationinterop.cs
- SqlServer2KCompatibilityCheck.cs
- IntranetCredentialPolicy.cs
- XmlObjectSerializerContext.cs
- BooleanAnimationBase.cs
- SettingsPropertyWrongTypeException.cs
- ReplyChannelBinder.cs
- XmlDocument.cs
- BodyGlyph.cs
- ConfigXmlCDataSection.cs
- FormViewDeletedEventArgs.cs
- ExpressionConverter.cs
- FullTextLine.cs
- MessageSmuggler.cs
- XmlIncludeAttribute.cs