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
- String.cs
- XmlUtilWriter.cs
- CodeIndexerExpression.cs
- FilterFactory.cs
- CompiledQuery.cs
- MetaColumn.cs
- Timeline.cs
- RemoteX509AsymmetricSecurityKey.cs
- AssemblyHash.cs
- RegexInterpreter.cs
- FtpWebResponse.cs
- Merger.cs
- BaseCollection.cs
- PerformanceCounterCategory.cs
- ButtonFieldBase.cs
- EntityCodeGenerator.cs
- TraceSource.cs
- EmptyEnumerable.cs
- ConvertEvent.cs
- AlphabeticalEnumConverter.cs
- GeneralTransform3DGroup.cs
- GC.cs
- FormView.cs
- CompositionAdorner.cs
- DSACryptoServiceProvider.cs
- ClickablePoint.cs
- SkewTransform.cs
- iisPickupDirectory.cs
- ProfileService.cs
- PaperSource.cs
- UndirectedGraph.cs
- ConfigurationException.cs
- SchemaNames.cs
- WindowsFont.cs
- ScrollProviderWrapper.cs
- RenderContext.cs
- FilteredAttributeCollection.cs
- ToolStripMenuItemCodeDomSerializer.cs
- TypeElement.cs
- MergeLocalizationDirectives.cs
- QilIterator.cs
- XmlImplementation.cs
- GridItemPattern.cs
- PasswordPropertyTextAttribute.cs
- KeyedHashAlgorithm.cs
- CategoryNameCollection.cs
- WorkflowApplicationTerminatedException.cs
- HttpCachePolicyWrapper.cs
- TextTreeInsertElementUndoUnit.cs
- TcpClientSocketManager.cs
- PreviewPrintController.cs
- RecipientInfo.cs
- ToolBar.cs
- ToRequest.cs
- AutomationPatternInfo.cs
- RealProxy.cs
- HtmlTitle.cs
- InternalsVisibleToAttribute.cs
- ExpandoClass.cs
- ElementProxy.cs
- XmlSchemaType.cs
- FileStream.cs
- CornerRadius.cs
- EventHandlersStore.cs
- RotateTransform3D.cs
- XsltSettings.cs
- CommandCollectionEditor.cs
- ContentOperations.cs
- Variable.cs
- OleDbEnumerator.cs
- HttpValueCollection.cs
- UserInitiatedRoutedEventPermission.cs
- NonSerializedAttribute.cs
- InputMethod.cs
- PolyQuadraticBezierSegment.cs
- WinEventTracker.cs
- HashCryptoHandle.cs
- LayoutUtils.cs
- WebPartUtil.cs
- X509CertificateCollection.cs
- CommonDialog.cs
- RequestQueue.cs
- HtmlFormParameterWriter.cs
- XmlToDatasetMap.cs
- AuthenticatingEventArgs.cs
- NativeCppClassAttribute.cs
- controlskin.cs
- ColorMatrix.cs
- NetPipeSectionData.cs
- keycontainerpermission.cs
- ConstrainedDataObject.cs
- HtmlUtf8RawTextWriter.cs
- SQLBinary.cs
- Setter.cs
- NamedPipeHostedTransportConfiguration.cs
- ArraySegment.cs
- PasswordTextNavigator.cs
- CompoundFileIOPermission.cs
- PassportAuthentication.cs
- ConfigurationSectionGroup.cs