Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathArrayIterator.cs / 2 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListViewInsertionMark.cs
- IsolatedStorageFileStream.cs
- QuestionEventArgs.cs
- Context.cs
- ImageClickEventArgs.cs
- BinaryObjectWriter.cs
- BufferModeSettings.cs
- XmlEventCache.cs
- BitVec.cs
- DetailsViewCommandEventArgs.cs
- Pointer.cs
- EntityContainerEmitter.cs
- PanelStyle.cs
- SiteMapProvider.cs
- _ScatterGatherBuffers.cs
- ColorConverter.cs
- DomNameTable.cs
- PolicyFactory.cs
- CheckBoxFlatAdapter.cs
- Geometry.cs
- HtmlShim.cs
- NominalTypeEliminator.cs
- PeerCollaborationPermission.cs
- IPGlobalProperties.cs
- ThreadStateException.cs
- BaseCodePageEncoding.cs
- SqlBuilder.cs
- ConfigUtil.cs
- CharAnimationUsingKeyFrames.cs
- StylusEditingBehavior.cs
- AccessibleObject.cs
- ElementsClipboardData.cs
- DbConnectionClosed.cs
- HashCodeCombiner.cs
- PaintValueEventArgs.cs
- NativeMethods.cs
- ImageButton.cs
- ImageKeyConverter.cs
- MapPathBasedVirtualPathProvider.cs
- StringUtil.cs
- webeventbuffer.cs
- ListParagraph.cs
- ScrollBarRenderer.cs
- TypeUnloadedException.cs
- StreamGeometry.cs
- Cloud.cs
- XmlAnyAttributeAttribute.cs
- VisualStyleInformation.cs
- DataGridViewTopRowAccessibleObject.cs
- FlowchartDesigner.xaml.cs
- DataGridViewCellLinkedList.cs
- EventLogPermissionEntryCollection.cs
- ProcessModuleDesigner.cs
- FakeModelItemImpl.cs
- TemplateBuilder.cs
- SymmetricSecurityProtocolFactory.cs
- LifetimeServices.cs
- StreamResourceInfo.cs
- ResourceReferenceKeyNotFoundException.cs
- KnownTypesProvider.cs
- TabControlCancelEvent.cs
- SingleObjectCollection.cs
- SpeechRecognitionEngine.cs
- CLSCompliantAttribute.cs
- InfocardChannelParameter.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SqlAggregateChecker.cs
- ResourcesGenerator.cs
- XmlReaderDelegator.cs
- WindowsStatic.cs
- AncestorChangedEventArgs.cs
- MetadataCollection.cs
- SEHException.cs
- ConsoleCancelEventArgs.cs
- EntityContainerEntitySet.cs
- ConfigurationValue.cs
- DataGridViewRowStateChangedEventArgs.cs
- WebServiceHandlerFactory.cs
- HtmlTableRowCollection.cs
- _CookieModule.cs
- FontNameEditor.cs
- VisualBasicReference.cs
- SerializationException.cs
- QilGeneratorEnv.cs
- listitem.cs
- StoreAnnotationsMap.cs
- MethodCallConverter.cs
- ColumnResizeUndoUnit.cs
- XmlUtil.cs
- SimpleLine.cs
- GlobalProxySelection.cs
- WebServiceData.cs
- SatelliteContractVersionAttribute.cs
- FontFamilyValueSerializer.cs
- Axis.cs
- ProfileManager.cs
- SerializationSectionGroup.cs
- DocumentSchemaValidator.cs
- DocumentPageView.cs
- InvokeFunc.cs