Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathArrayIterator.cs / 1 / XPathArrayIterator.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; using System.Collections; [DebuggerDisplay("Position={CurrentPosition}, Current={debuggerDisplayProxy, nq}")] internal class XPathArrayIterator : ResetableIterator { protected IList list; protected int index; public XPathArrayIterator(IList list) { this.list = list; } public XPathArrayIterator(XPathArrayIterator it) { this.list = it.list; this.index = it.index; } public XPathArrayIterator(XPathNodeIterator nodeIterator) { this.list = new ArrayList(); while (nodeIterator.MoveNext()) { this.list.Add(nodeIterator.Current.Clone()); } } public IList AsList { get { return this.list; } } public override XPathNodeIterator Clone() { return new XPathArrayIterator(this); } public override XPathNavigator Current { get { Debug.Assert(index <= list.Count); if (index < 1) throw new InvalidOperationException(Res.GetString(Res.Sch_EnumNotStarted, string.Empty)); return (XPathNavigator) list[index - 1]; } } public override int CurrentPosition { get { return index; } } public override int Count { get { return list.Count; } } public override bool MoveNext() { Debug.Assert(index <= list.Count); if (index == list.Count) { return false; } index++; return true; } public override void Reset() { index = 0; } public override IEnumerator GetEnumerator() { return list.GetEnumerator(); } private object debuggerDisplayProxy { get { return index < 1 ? null : (object)new XPathNavigator.DebuggerDisplayProxy(Current); } } } } // 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; using System.Collections; [DebuggerDisplay("Position={CurrentPosition}, Current={debuggerDisplayProxy, nq}")] internal class XPathArrayIterator : ResetableIterator { protected IList list; protected int index; public XPathArrayIterator(IList list) { this.list = list; } public XPathArrayIterator(XPathArrayIterator it) { this.list = it.list; this.index = it.index; } public XPathArrayIterator(XPathNodeIterator nodeIterator) { this.list = new ArrayList(); while (nodeIterator.MoveNext()) { this.list.Add(nodeIterator.Current.Clone()); } } public IList AsList { get { return this.list; } } public override XPathNodeIterator Clone() { return new XPathArrayIterator(this); } public override XPathNavigator Current { get { Debug.Assert(index <= list.Count); if (index < 1) throw new InvalidOperationException(Res.GetString(Res.Sch_EnumNotStarted, string.Empty)); return (XPathNavigator) list[index - 1]; } } public override int CurrentPosition { get { return index; } } public override int Count { get { return list.Count; } } public override bool MoveNext() { Debug.Assert(index <= list.Count); if (index == list.Count) { return false; } index++; return true; } public override void Reset() { index = 0; } public override IEnumerator GetEnumerator() { return list.GetEnumerator(); } private object debuggerDisplayProxy { get { return index < 1 ? null : (object)new XPathNavigator.DebuggerDisplayProxy(Current); } } } } // 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
- WindowsIdentity.cs
- FixUp.cs
- DisplayMemberTemplateSelector.cs
- Vector.cs
- MdImport.cs
- ByteStreamGeometryContext.cs
- PagePropertiesChangingEventArgs.cs
- TypedAsyncResult.cs
- AmbientValueAttribute.cs
- InplaceBitmapMetadataWriter.cs
- BatchStream.cs
- AttachedPropertyDescriptor.cs
- Grammar.cs
- TTSEvent.cs
- ComplexPropertyEntry.cs
- PenContexts.cs
- Cell.cs
- _Semaphore.cs
- ProcessModelSection.cs
- SmiContextFactory.cs
- AnnotationMap.cs
- NetworkInformationPermission.cs
- ConcurrentStack.cs
- GlyphShapingProperties.cs
- AttributeTable.cs
- controlskin.cs
- ColorBlend.cs
- GeneratedCodeAttribute.cs
- DocumentNUp.cs
- PerformanceCounterPermissionEntry.cs
- Configuration.cs
- Panel.cs
- SessionStateSection.cs
- DBCSCodePageEncoding.cs
- InstallerTypeAttribute.cs
- TransformerConfigurationWizardBase.cs
- ContextMarshalException.cs
- ObjectMaterializedEventArgs.cs
- ConfigXmlComment.cs
- PeerEndPoint.cs
- EvidenceTypeDescriptor.cs
- SqlConnectionStringBuilder.cs
- HttpCapabilitiesSectionHandler.cs
- AttributedMetaModel.cs
- ViewStateModeByIdAttribute.cs
- ButtonBase.cs
- HttpRuntime.cs
- WebPartMovingEventArgs.cs
- ValidatedControlConverter.cs
- ComponentResourceKey.cs
- PreservationFileReader.cs
- SwitchAttribute.cs
- FeatureSupport.cs
- RoutedEventHandlerInfo.cs
- FtpWebRequest.cs
- TraceSwitch.cs
- Options.cs
- StreamUpgradeBindingElement.cs
- DataGridTable.cs
- Pens.cs
- AdapterUtil.cs
- PropertyRecord.cs
- FormClosingEvent.cs
- ExtendedProperty.cs
- GeneralTransform3DGroup.cs
- EnvelopedPkcs7.cs
- Composition.cs
- ValidatingReaderNodeData.cs
- DownloadProgressEventArgs.cs
- PathFigureCollectionValueSerializer.cs
- MessageQueueConverter.cs
- QueryGenerator.cs
- InstanceKeyNotReadyException.cs
- SafeFindHandle.cs
- FormViewUpdatedEventArgs.cs
- RawStylusSystemGestureInputReport.cs
- EventData.cs
- DoWorkEventArgs.cs
- TablePattern.cs
- SoapCodeExporter.cs
- DataGridViewRow.cs
- PublisherIdentityPermission.cs
- ListenerElementsCollection.cs
- TableLayoutPanel.cs
- CaseInsensitiveHashCodeProvider.cs
- SafeFileMappingHandle.cs
- BitmapEffectvisualstate.cs
- XamlReader.cs
- XPathException.cs
- ReadWriteSpinLock.cs
- WebHeaderCollection.cs
- Asn1IntegerConverter.cs
- StickyNoteContentControl.cs
- ParserContext.cs
- ButtonFlatAdapter.cs
- ConnectivityStatus.cs
- TransformerInfoCollection.cs
- TextEditorSpelling.cs
- remotingproxy.cs
- WithStatement.cs