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
- SevenBitStream.cs
- SignerInfo.cs
- EventLogConfiguration.cs
- AncestorChangedEventArgs.cs
- TreeIterator.cs
- XmlDomTextWriter.cs
- CqlParser.cs
- SourceElementsCollection.cs
- StateMachineTimers.cs
- CodeArrayCreateExpression.cs
- RegistryPermission.cs
- PipeStream.cs
- SQLInt64Storage.cs
- SecurityContextSecurityToken.cs
- BaseResourcesBuildProvider.cs
- ChineseLunisolarCalendar.cs
- PeerNameRecordCollection.cs
- FormViewInsertEventArgs.cs
- InfoCardMetadataExchangeClient.cs
- StateMachineSubscription.cs
- MatrixValueSerializer.cs
- FileSystemWatcher.cs
- SqlPersonalizationProvider.cs
- WebConfigurationManager.cs
- SessionStateModule.cs
- SmtpAuthenticationManager.cs
- DataKeyCollection.cs
- DigestComparer.cs
- IImplicitResourceProvider.cs
- RegistryKey.cs
- IListConverters.cs
- ConnectionsZone.cs
- RectAnimationBase.cs
- XmlQueryStaticData.cs
- PatternMatcher.cs
- ThicknessAnimationUsingKeyFrames.cs
- PrtCap_Reader.cs
- NotSupportedException.cs
- MessageParameterAttribute.cs
- AppDomain.cs
- XamlReader.cs
- PeerTransportCredentialType.cs
- CheckBoxPopupAdapter.cs
- DataObjectFieldAttribute.cs
- OutOfProcStateClientManager.cs
- ButtonAutomationPeer.cs
- PropertyDescriptorCollection.cs
- Keywords.cs
- XmlUtil.cs
- BamlResourceContent.cs
- WhitespaceRule.cs
- RestClientProxyHandler.cs
- PageThemeBuildProvider.cs
- DataControlFieldHeaderCell.cs
- BindingCollection.cs
- VerticalAlignConverter.cs
- Brush.cs
- RowUpdatingEventArgs.cs
- EditorPartChrome.cs
- DynamicValueConverter.cs
- VectorKeyFrameCollection.cs
- ConnectionsZone.cs
- Journal.cs
- PackageRelationshipSelector.cs
- RijndaelManaged.cs
- CodeMemberField.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ManifestSignatureInformation.cs
- SqlUtils.cs
- PointCollection.cs
- SelectionChangedEventArgs.cs
- CodeObjectCreateExpression.cs
- DataGridViewColumnConverter.cs
- WriteFileContext.cs
- RtfFormatStack.cs
- NGCSerializer.cs
- Int32RectConverter.cs
- ConstrainedGroup.cs
- QilScopedVisitor.cs
- XmlDigitalSignatureProcessor.cs
- PathFigure.cs
- XsdDuration.cs
- ColumnMapTranslator.cs
- DataSourceHelper.cs
- METAHEADER.cs
- complextypematerializer.cs
- COAUTHINFO.cs
- JsonDeserializer.cs
- DbDataReader.cs
- OleStrCAMarshaler.cs
- StringSorter.cs
- WorkflowInlining.cs
- SerTrace.cs
- BitmapDecoder.cs
- SystemBrushes.cs
- ListBase.cs
- UseLicense.cs
- MethodSignatureGenerator.cs
- DataObjectCopyingEventArgs.cs
- BinaryConverter.cs