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
- parserscommon.cs
- SqlClientPermission.cs
- Model3D.cs
- CodeIdentifiers.cs
- ExpressionHelper.cs
- FragmentNavigationEventArgs.cs
- InkSerializer.cs
- MimeParameterWriter.cs
- AsyncOperation.cs
- SystemResources.cs
- FixedNode.cs
- DateRangeEvent.cs
- _MultipleConnectAsync.cs
- MessageContractExporter.cs
- Help.cs
- ConfigPathUtility.cs
- EnvelopedPkcs7.cs
- FixedSOMElement.cs
- FixedSOMLineCollection.cs
- IndexedSelectQueryOperator.cs
- EndOfStreamException.cs
- ContextMenu.cs
- ManagementNamedValueCollection.cs
- XmlSchemaInfo.cs
- WebCategoryAttribute.cs
- HttpCacheVary.cs
- SqlDataSourceCommandEventArgs.cs
- MergablePropertyAttribute.cs
- HatchBrush.cs
- RealizationDrawingContextWalker.cs
- ProxyManager.cs
- MembershipValidatePasswordEventArgs.cs
- WizardPanelChangingEventArgs.cs
- NativeMethodsCLR.cs
- CriticalFinalizerObject.cs
- CapiHashAlgorithm.cs
- PropertyValueChangedEvent.cs
- KeyedHashAlgorithm.cs
- ProfileWorkflowElement.cs
- SecurityKeyIdentifierClause.cs
- WebPartEditorOkVerb.cs
- ColorBlend.cs
- ProcessHostMapPath.cs
- StringBuilder.cs
- Rect3D.cs
- DataBinder.cs
- JavaScriptSerializer.cs
- ExtractorMetadata.cs
- TextFormatterImp.cs
- XmlSchema.cs
- CryptoProvider.cs
- Profiler.cs
- AudioDeviceOut.cs
- FlowLayoutSettings.cs
- RestHandler.cs
- HostingPreferredMapPath.cs
- BehaviorEditorPart.cs
- KeyValuePair.cs
- IndentedWriter.cs
- ReceiveActivity.cs
- CodeRemoveEventStatement.cs
- XmlParser.cs
- BitmapCache.cs
- _ChunkParse.cs
- ThreadStartException.cs
- Marshal.cs
- XmlProcessingInstruction.cs
- GatewayDefinition.cs
- ArcSegment.cs
- Expressions.cs
- SystemWebCachingSectionGroup.cs
- SoapTypeAttribute.cs
- TraversalRequest.cs
- MenuItemStyle.cs
- NgenServicingAttributes.cs
- BlobPersonalizationState.cs
- _NegotiateClient.cs
- PropertyGridView.cs
- StateItem.cs
- TextParentUndoUnit.cs
- XmlElementList.cs
- ExpressionBinding.cs
- SettingsPropertyWrongTypeException.cs
- CallTemplateAction.cs
- SafeFileMappingHandle.cs
- SelectionPatternIdentifiers.cs
- QueuePathEditor.cs
- XmlSchemaElement.cs
- SmtpFailedRecipientsException.cs
- DefaultTypeArgumentAttribute.cs
- SpeakInfo.cs
- SystemIPv6InterfaceProperties.cs
- DBCommand.cs
- RequestSecurityToken.cs
- SortDescription.cs
- SqlNotificationRequest.cs
- ContainerCodeDomSerializer.cs
- PinnedBufferMemoryStream.cs
- SecUtil.cs
- ThreadPool.cs