Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathSingletonIterator.cs / 1305376 / XPathSingletonIterator.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; internal class XPathSingletonIterator: ResetableIterator { private XPathNavigator nav; private int position; public XPathSingletonIterator(XPathNavigator nav) { Debug.Assert(nav != null); this.nav = nav; } public XPathSingletonIterator(XPathNavigator nav, bool moved) : this(nav) { if (moved) { position = 1; } } public XPathSingletonIterator(XPathSingletonIterator it) { this.nav = it.nav.Clone(); this.position = it.position; } public override XPathNodeIterator Clone() { return new XPathSingletonIterator(this); } public override XPathNavigator Current { get { return nav; } } public override int CurrentPosition { get { return position; } } public override int Count { get { return 1; } } public override bool MoveNext() { if(position == 0) { position = 1; return true; } return false; } public override void Reset() { position = 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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; internal class XPathSingletonIterator: ResetableIterator { private XPathNavigator nav; private int position; public XPathSingletonIterator(XPathNavigator nav) { Debug.Assert(nav != null); this.nav = nav; } public XPathSingletonIterator(XPathNavigator nav, bool moved) : this(nav) { if (moved) { position = 1; } } public XPathSingletonIterator(XPathSingletonIterator it) { this.nav = it.nav.Clone(); this.position = it.position; } public override XPathNodeIterator Clone() { return new XPathSingletonIterator(this); } public override XPathNavigator Current { get { return nav; } } public override int CurrentPosition { get { return position; } } public override int Count { get { return 1; } } public override bool MoveNext() { if(position == 0) { position = 1; return true; } return false; } public override void Reset() { position = 0; } } } // 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
- MsmqIntegrationValidationBehavior.cs
- EncodingStreamWrapper.cs
- ConfigurationSectionCollection.cs
- DataGridViewDataConnection.cs
- ObjectViewFactory.cs
- ArgumentElement.cs
- Renderer.cs
- StringValidatorAttribute.cs
- SvcMapFileSerializer.cs
- VirtualizingStackPanel.cs
- KeyboardDevice.cs
- SchemaTypeEmitter.cs
- RegularExpressionValidator.cs
- SettingsPropertyValueCollection.cs
- SafeFileHandle.cs
- PersistencePipeline.cs
- AuthenticationSection.cs
- unitconverter.cs
- FileDialogCustomPlace.cs
- ObjectDataSourceView.cs
- MediaPlayer.cs
- FormViewInsertEventArgs.cs
- TableLayoutPanelDesigner.cs
- BindingMemberInfo.cs
- ReflectionTypeLoadException.cs
- indexingfiltermarshaler.cs
- UnicastIPAddressInformationCollection.cs
- ParseHttpDate.cs
- MonthChangedEventArgs.cs
- ContractHandle.cs
- Rectangle.cs
- KoreanCalendar.cs
- HttpCacheVary.cs
- ConfigurationStrings.cs
- ProfessionalColorTable.cs
- QueueProcessor.cs
- EventProviderWriter.cs
- StylusEditingBehavior.cs
- Point.cs
- TextContainerChangeEventArgs.cs
- CaseInsensitiveHashCodeProvider.cs
- HtmlEmptyTagControlBuilder.cs
- DataServiceQueryException.cs
- BitmapSizeOptions.cs
- BaseDataListDesigner.cs
- FileStream.cs
- DesignTimeTemplateParser.cs
- DeploymentSectionCache.cs
- DescendentsWalker.cs
- DataGridViewRowCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ParseElement.cs
- WebPartZoneCollection.cs
- RegexBoyerMoore.cs
- ControlValuePropertyAttribute.cs
- ListItemViewAttribute.cs
- XmlDataSourceView.cs
- StronglyTypedResourceBuilder.cs
- ResourceExpression.cs
- CollectionType.cs
- InkCanvasAutomationPeer.cs
- SortDescription.cs
- DBCommand.cs
- Mapping.cs
- ProviderCommandInfoUtils.cs
- FileUtil.cs
- WebFormDesignerActionService.cs
- PeerSecurityManager.cs
- DataListItemEventArgs.cs
- TypeListConverter.cs
- PriorityBinding.cs
- JpegBitmapEncoder.cs
- BulletedList.cs
- PropertyManager.cs
- HttpInputStream.cs
- SettingsPropertyNotFoundException.cs
- BindingCompleteEventArgs.cs
- EntityDescriptor.cs
- MsmqInputChannelListener.cs
- TextTreeDeleteContentUndoUnit.cs
- PenThread.cs
- DockProviderWrapper.cs
- ControlCachePolicy.cs
- EventRoute.cs
- TextParaLineResult.cs
- ListBox.cs
- CompilerGeneratedAttribute.cs
- PasswordDeriveBytes.cs
- TransformGroup.cs
- StateFinalizationActivity.cs
- ReliabilityContractAttribute.cs
- UInt64.cs
- GridViewDesigner.cs
- PrintPreviewGraphics.cs
- UserPreferenceChangingEventArgs.cs
- ComponentCache.cs
- DesignerAutoFormat.cs
- WindowsListBox.cs
- BoolExpr.cs
- TokenBasedSetEnumerator.cs