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
- ControlCollection.cs
- CodeArrayIndexerExpression.cs
- GetPageCompletedEventArgs.cs
- InkCanvasInnerCanvas.cs
- StaticExtensionConverter.cs
- TypeUnloadedException.cs
- Timer.cs
- JournalEntry.cs
- CFStream.cs
- InertiaExpansionBehavior.cs
- ColorConvertedBitmapExtension.cs
- TextTreeTextNode.cs
- DesignerFrame.cs
- MimeObjectFactory.cs
- CngKeyCreationParameters.cs
- JournalEntry.cs
- MatrixTransform.cs
- AsmxEndpointPickerExtension.cs
- TaiwanLunisolarCalendar.cs
- Utils.cs
- TreeSet.cs
- Binding.cs
- ViewStateChangedEventArgs.cs
- HttpModule.cs
- GridViewAutomationPeer.cs
- InternalConfigHost.cs
- coordinatorscratchpad.cs
- baseaxisquery.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- XmlTextReader.cs
- _SafeNetHandles.cs
- WinFormsUtils.cs
- CodeCompiler.cs
- ArgumentsParser.cs
- AsymmetricSignatureDeformatter.cs
- XmlDataSourceNodeDescriptor.cs
- ColorAnimationUsingKeyFrames.cs
- Evidence.cs
- BaseComponentEditor.cs
- DateTimeSerializationSection.cs
- FlowchartDesignerCommands.cs
- IndexingContentUnit.cs
- MaskedTextBox.cs
- MDIControlStrip.cs
- X500Name.cs
- XamlToRtfWriter.cs
- _SafeNetHandles.cs
- DetailsViewRowCollection.cs
- IDispatchConstantAttribute.cs
- XmlWhitespace.cs
- CriticalFinalizerObject.cs
- MapPathBasedVirtualPathProvider.cs
- SchemaElementDecl.cs
- BitmapMetadataBlob.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- PointAnimationBase.cs
- PrimitiveXmlSerializers.cs
- TreeIterators.cs
- HostingEnvironment.cs
- XmlAutoDetectWriter.cs
- FrameworkTextComposition.cs
- WebPartActionVerb.cs
- TreeViewDesigner.cs
- HttpDictionary.cs
- CommandEventArgs.cs
- EncoderExceptionFallback.cs
- BlockCollection.cs
- MoveSizeWinEventHandler.cs
- RichTextBox.cs
- AudioStateChangedEventArgs.cs
- EventManager.cs
- PixelFormat.cs
- EventItfInfo.cs
- SqlRecordBuffer.cs
- DecoderNLS.cs
- BufferAllocator.cs
- assertwrapper.cs
- DatatypeImplementation.cs
- EventDescriptor.cs
- UserControlCodeDomTreeGenerator.cs
- SmtpClient.cs
- StandardTransformFactory.cs
- TreeView.cs
- OdbcRowUpdatingEvent.cs
- Lease.cs
- CqlQuery.cs
- ISCIIEncoding.cs
- DockProviderWrapper.cs
- PropertyTabAttribute.cs
- ToolStripAdornerWindowService.cs
- FormCollection.cs
- AssemblyNameProxy.cs
- EnumMember.cs
- DataGridViewTextBoxEditingControl.cs
- SchemaInfo.cs
- PinnedBufferMemoryStream.cs
- ParseElement.cs
- TripleDESCryptoServiceProvider.cs
- RuleSettings.cs
- EndpointAddressMessageFilterTable.cs