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
- TimeSpan.cs
- XPathConvert.cs
- PointAnimationBase.cs
- HttpResponseInternalBase.cs
- TrackPointCollection.cs
- RowsCopiedEventArgs.cs
- ThreadAbortException.cs
- Domain.cs
- XPathItem.cs
- DataContractSerializerOperationFormatter.cs
- RuntimeEnvironment.cs
- ConnectionManagementSection.cs
- CodeCommentStatement.cs
- SafeArrayTypeMismatchException.cs
- NativeMethods.cs
- ColorConvertedBitmap.cs
- DataSourceXmlElementAttribute.cs
- CryptoHandle.cs
- StorageAssociationSetMapping.cs
- DebugTrace.cs
- MediaContextNotificationWindow.cs
- newinstructionaction.cs
- NoClickablePointException.cs
- InvalidPrinterException.cs
- FrameworkElementAutomationPeer.cs
- RegexMatch.cs
- Logging.cs
- QilParameter.cs
- NetMsmqBinding.cs
- WindowsFormsLinkLabel.cs
- WindowsIdentity.cs
- MenuAdapter.cs
- shaperfactory.cs
- DataTableMappingCollection.cs
- BridgeDataReader.cs
- LogManagementAsyncResult.cs
- FixedSOMPageElement.cs
- ViewManager.cs
- TypeBuilder.cs
- DataGridSortingEventArgs.cs
- ManagementDateTime.cs
- Parallel.cs
- CellTreeNode.cs
- UIPermission.cs
- ToolStripPanelRenderEventArgs.cs
- FixedTextView.cs
- ComboBoxRenderer.cs
- EntityProviderFactory.cs
- CodeExpressionCollection.cs
- Vector3DIndependentAnimationStorage.cs
- SqlConnectionManager.cs
- TcpTransportSecurity.cs
- DataGridViewColumnConverter.cs
- StringValueSerializer.cs
- MenuEventArgs.cs
- BlurEffect.cs
- Cast.cs
- TraceSource.cs
- DateTimeStorage.cs
- WebControlAdapter.cs
- grammarelement.cs
- StructuredTypeEmitter.cs
- AssemblyInfo.cs
- NumberFormatter.cs
- SQLBoolean.cs
- KnownBoxes.cs
- CodeNamespaceImportCollection.cs
- ApplicationInterop.cs
- Comparer.cs
- DataPagerFieldItem.cs
- XmlArrayItemAttributes.cs
- GeometryCombineModeValidation.cs
- ProjectionPath.cs
- KeyPressEvent.cs
- Int32AnimationBase.cs
- RouteTable.cs
- NamespaceCollection.cs
- AutomationProperties.cs
- DataGridCaption.cs
- HtmlForm.cs
- TypeSchema.cs
- BinaryVersion.cs
- XmlHierarchyData.cs
- ThreadStartException.cs
- CapacityStreamGeometryContext.cs
- Enlistment.cs
- SafeFileMapViewHandle.cs
- TextOptions.cs
- CancellationTokenRegistration.cs
- EntityDataSourceWrapperCollection.cs
- CompleteWizardStep.cs
- OleDbSchemaGuid.cs
- NativeBuffer.cs
- _SslState.cs
- ComplexPropertyEntry.cs
- RtfControlWordInfo.cs
- System.Data.OracleClient_BID.cs
- GridProviderWrapper.cs
- TreeViewCancelEvent.cs
- ByteStorage.cs