Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathArrayIterator.cs / 1305376 / XPathArrayIterator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; using System.Text; using System.Xml; using System.Xml.XPath; namespace MS.Internal.Xml.XPath { [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
- TextServicesCompartmentEventSink.cs
- PolyQuadraticBezierSegment.cs
- PeerCollaboration.cs
- TypeNameConverter.cs
- ReadOnlyHierarchicalDataSource.cs
- FileFormatException.cs
- Transform3D.cs
- GridViewColumn.cs
- Line.cs
- TextBoxView.cs
- CacheChildrenQuery.cs
- TypeSystemProvider.cs
- SqlDataSourceCommandEventArgs.cs
- QueryCacheEntry.cs
- EntityTemplateFactory.cs
- XmlSchemaGroup.cs
- DataException.cs
- WorkflowOperationErrorHandler.cs
- DeviceFilterDictionary.cs
- FileIOPermission.cs
- DataGridColumnFloatingHeader.cs
- DataGridViewTextBoxColumn.cs
- DbConnectionPool.cs
- COSERVERINFO.cs
- Certificate.cs
- Privilege.cs
- SecurityManager.cs
- ArgumentOutOfRangeException.cs
- IPAddress.cs
- Positioning.cs
- BinaryNode.cs
- HashUtility.cs
- SizeFConverter.cs
- ClockGroup.cs
- KeyTimeConverter.cs
- XmlBinaryWriterSession.cs
- FolderLevelBuildProvider.cs
- MimeTypeAttribute.cs
- ErrorRuntimeConfig.cs
- WebPartAuthorizationEventArgs.cs
- RestHandlerFactory.cs
- DateTimeConverter2.cs
- MergeLocalizationDirectives.cs
- FontStretch.cs
- CapabilitiesAssignment.cs
- AttributeUsageAttribute.cs
- TaskFormBase.cs
- ImageAttributes.cs
- StringResourceManager.cs
- Paragraph.cs
- QueryParameter.cs
- BitmapEffectState.cs
- TimeSpanValidator.cs
- EventLogEntry.cs
- BuildTopDownAttribute.cs
- WindowsProgressbar.cs
- EntityKey.cs
- WebContext.cs
- Vars.cs
- LineUtil.cs
- SimpleApplicationHost.cs
- SinglePageViewer.cs
- Interlocked.cs
- APCustomTypeDescriptor.cs
- ConfigXmlWhitespace.cs
- ToolStripSeparator.cs
- HttpDictionary.cs
- XmlSchemaSimpleTypeUnion.cs
- NumericUpDownAcceleration.cs
- TreeNodeMouseHoverEvent.cs
- BindableTemplateBuilder.cs
- ZipFileInfoCollection.cs
- FontSourceCollection.cs
- httpstaticobjectscollection.cs
- RectIndependentAnimationStorage.cs
- DropShadowBitmapEffect.cs
- WebPartTracker.cs
- DataGridViewTextBoxColumn.cs
- BindingsCollection.cs
- XAMLParseException.cs
- FontCacheUtil.cs
- ReadOnlyPropertyMetadata.cs
- TimeSpan.cs
- ConcurrentBag.cs
- XmlSerializerVersionAttribute.cs
- Transactions.cs
- GridViewRow.cs
- InfiniteTimeSpanConverter.cs
- SignHashRequest.cs
- NodeLabelEditEvent.cs
- CleanUpVirtualizedItemEventArgs.cs
- ISessionStateStore.cs
- HyperLinkDataBindingHandler.cs
- WebPartConnectionsConnectVerb.cs
- WebPageTraceListener.cs
- DataGridViewColumn.cs
- TriState.cs
- CodeMemberProperty.cs
- ContextProperty.cs
- CodeIdentifiers.cs