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
- EntityDataSourceSelectingEventArgs.cs
- RegexRunnerFactory.cs
- ScriptResourceAttribute.cs
- XappLauncher.cs
- PerformanceCounterPermissionEntryCollection.cs
- TableCell.cs
- EncoderParameters.cs
- ArrayWithOffset.cs
- SQLSingleStorage.cs
- AdornedElementPlaceholder.cs
- ObjectAssociationEndMapping.cs
- CookielessHelper.cs
- XmlIlTypeHelper.cs
- TypeUtil.cs
- WebCategoryAttribute.cs
- QueryParameter.cs
- UpdateCompiler.cs
- TrackingConditionCollection.cs
- ClosableStream.cs
- DataControlLinkButton.cs
- PointAnimationUsingPath.cs
- TextChangedEventArgs.cs
- DesignerInterfaces.cs
- IisTraceListener.cs
- SharedUtils.cs
- FileLoadException.cs
- CharacterShapingProperties.cs
- CompositeControl.cs
- LoginCancelEventArgs.cs
- milexports.cs
- SQLBinary.cs
- UIPermission.cs
- Mappings.cs
- ToolStripContainerDesigner.cs
- MouseBinding.cs
- XComponentModel.cs
- DependencyPropertyDescriptor.cs
- WorkflowOperationFault.cs
- StrongNamePublicKeyBlob.cs
- GroupBox.cs
- WsrmFault.cs
- TypeExtension.cs
- GZipStream.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- LookupNode.cs
- LineMetrics.cs
- CodeGenerator.cs
- UnmanagedBitmapWrapper.cs
- TriggerActionCollection.cs
- PeerNameRecordCollection.cs
- TextServicesCompartmentContext.cs
- SiteMapProvider.cs
- InputReferenceExpression.cs
- RequestCacheEntry.cs
- WindowsGraphics2.cs
- EntityDataSourceState.cs
- ParameterBuilder.cs
- IndexOutOfRangeException.cs
- CodeMemberProperty.cs
- AnimatedTypeHelpers.cs
- UrlMappingsSection.cs
- XDeferredAxisSource.cs
- PackageRelationshipSelector.cs
- NavigatingCancelEventArgs.cs
- SqlFunctionAttribute.cs
- JournalEntryStack.cs
- TraceXPathNavigator.cs
- StrokeCollectionConverter.cs
- PriorityChain.cs
- SqlDependency.cs
- Shape.cs
- ProcessThreadCollection.cs
- XmlArrayAttribute.cs
- DbMetaDataColumnNames.cs
- ButtonColumn.cs
- XmlSchemaValidator.cs
- CodeMemberMethod.cs
- CompiledIdentityConstraint.cs
- Button.cs
- PropertyGridCommands.cs
- DrawingContextWalker.cs
- SelectionListDesigner.cs
- XmlRawWriterWrapper.cs
- XPathEmptyIterator.cs
- Form.cs
- ImageListImageEditor.cs
- CompiledRegexRunnerFactory.cs
- Size3DValueSerializer.cs
- DocumentViewerBaseAutomationPeer.cs
- DLinqAssociationProvider.cs
- CryptoKeySecurity.cs
- BrushConverter.cs
- ConfigurationErrorsException.cs
- ListenerElementsCollection.cs
- XPathParser.cs
- HttpProcessUtility.cs
- TableCellCollection.cs
- XmlLoader.cs
- safelinkcollection.cs
- TreeNodeMouseHoverEvent.cs