Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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
- ProcessRequestArgs.cs
- ToolStripRenderer.cs
- _NegoStream.cs
- WebPartConnection.cs
- OleStrCAMarshaler.cs
- AvTraceFormat.cs
- ScriptDescriptor.cs
- uribuilder.cs
- BinaryWriter.cs
- SHA512.cs
- RIPEMD160Managed.cs
- assemblycache.cs
- ExpressionBuilderCollection.cs
- DrawingGroup.cs
- EditingCommands.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- SynchronizedInputPattern.cs
- RequestCacheManager.cs
- XsltSettings.cs
- SqlComparer.cs
- MailAddressParser.cs
- HttpCapabilitiesSectionHandler.cs
- RSAOAEPKeyExchangeDeformatter.cs
- InputReport.cs
- panel.cs
- DataConnectionHelper.cs
- WindowsTokenRoleProvider.cs
- SmiEventSink_DeferedProcessing.cs
- SessionStateUtil.cs
- SortedSet.cs
- ISAPIWorkerRequest.cs
- XmlSchemas.cs
- AccessText.cs
- EntityTypeEmitter.cs
- ResXBuildProvider.cs
- BinaryObjectInfo.cs
- CachingHintValidation.cs
- EdmItemCollection.cs
- DesignerListAdapter.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- TextContainerChangeEventArgs.cs
- KnownAssembliesSet.cs
- Geometry.cs
- XmlWriterTraceListener.cs
- SqlConnectionPoolGroupProviderInfo.cs
- RadioButtonRenderer.cs
- DataServiceRequest.cs
- NamespaceList.cs
- ListParagraph.cs
- GridProviderWrapper.cs
- MessageBodyMemberAttribute.cs
- SafeEventHandle.cs
- CryptoKeySecurity.cs
- BamlLocalizationDictionary.cs
- FloatUtil.cs
- PanelDesigner.cs
- TileBrush.cs
- BooleanToVisibilityConverter.cs
- DataGridViewCellCollection.cs
- AQNBuilder.cs
- StringInfo.cs
- Enum.cs
- ToolStripContentPanelRenderEventArgs.cs
- TableLayoutSettingsTypeConverter.cs
- SystemIPv4InterfaceProperties.cs
- cookieexception.cs
- TabRenderer.cs
- SettingsPropertyNotFoundException.cs
- WsatAdminException.cs
- TextRangeEditTables.cs
- DiscoveryReference.cs
- ObjectManager.cs
- NativeMethods.cs
- EdmScalarPropertyAttribute.cs
- BaseProcessor.cs
- TemplatePropertyEntry.cs
- DataSetUtil.cs
- MSAANativeProvider.cs
- GroupQuery.cs
- CompressedStack.cs
- XmlSchemaSimpleType.cs
- CodeCompileUnit.cs
- GenericPrincipal.cs
- ResourceDescriptionAttribute.cs
- InvokeWebService.cs
- DesignTimeTemplateParser.cs
- XappLauncher.cs
- CultureTableRecord.cs
- BitSet.cs
- LockCookie.cs
- BitmapEffectvisualstate.cs
- AddressAlreadyInUseException.cs
- Quaternion.cs
- MergePropertyDescriptor.cs
- PasswordTextContainer.cs
- RuntimeConfigLKG.cs
- TransactionInformation.cs
- UrlMappingsSection.cs
- ServiceProviders.cs
- KeyPressEvent.cs