Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathArrayIterator.cs / 1 / 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. // //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableAutomationPeer.cs
- ChangeConflicts.cs
- BigInt.cs
- OleDbWrapper.cs
- DataPagerFieldCollection.cs
- MouseButtonEventArgs.cs
- VSWCFServiceContractGenerator.cs
- WebServiceBindingAttribute.cs
- SchemaAttDef.cs
- dataSvcMapFileLoader.cs
- StreamUpdate.cs
- ErrorFormatterPage.cs
- _ConnectionGroup.cs
- __TransparentProxy.cs
- Rotation3D.cs
- PartBasedPackageProperties.cs
- TextTreeUndo.cs
- ColumnWidthChangingEvent.cs
- ObjectQueryProvider.cs
- BasicExpandProvider.cs
- WebPartManagerInternals.cs
- NameValueSectionHandler.cs
- DirectoryObjectSecurity.cs
- FixedSOMElement.cs
- sortedlist.cs
- DataViewSetting.cs
- DropSource.cs
- AspNetSynchronizationContext.cs
- PenThread.cs
- TextCompositionManager.cs
- RelOps.cs
- UMPAttributes.cs
- ObjectViewFactory.cs
- ThreadPoolTaskScheduler.cs
- SafeEventLogReadHandle.cs
- DataStreamFromComStream.cs
- ThreadAbortException.cs
- ScrollContentPresenter.cs
- FontInfo.cs
- RegisteredDisposeScript.cs
- SessionParameter.cs
- TextSerializer.cs
- Link.cs
- WebServicesDescriptionAttribute.cs
- TableCellCollection.cs
- OptimisticConcurrencyException.cs
- OracleDataReader.cs
- ToolboxDataAttribute.cs
- SendDesigner.xaml.cs
- RadialGradientBrush.cs
- EqualityComparer.cs
- CatchBlock.cs
- DesignerDataView.cs
- DataGridViewRowConverter.cs
- RawStylusInputReport.cs
- FixedSOMTextRun.cs
- WebCategoryAttribute.cs
- MustUnderstandBehavior.cs
- ReachVisualSerializer.cs
- ISAPIWorkerRequest.cs
- DataGridPagerStyle.cs
- FixedSOMTableCell.cs
- MenuCommand.cs
- ListSortDescriptionCollection.cs
- RemoteCryptoRsaServiceProvider.cs
- HitTestDrawingContextWalker.cs
- ProvidersHelper.cs
- StateMachineSubscriptionManager.cs
- FlatButtonAppearance.cs
- oledbconnectionstring.cs
- UserPersonalizationStateInfo.cs
- CellTreeNode.cs
- XmlSchemaProviderAttribute.cs
- EmbeddedMailObject.cs
- AuthenticationModeHelper.cs
- LinqDataSourceStatusEventArgs.cs
- XsltInput.cs
- SecurityElement.cs
- RoutedEventValueSerializer.cs
- SqlBinder.cs
- MailDefinition.cs
- ThreadInterruptedException.cs
- MobileSysDescriptionAttribute.cs
- TagNameToTypeMapper.cs
- GlyphRunDrawing.cs
- SafeFileMapViewHandle.cs
- ProgressBarAutomationPeer.cs
- TextSelectionProcessor.cs
- SizeConverter.cs
- CallContext.cs
- ComponentChangedEvent.cs
- ColumnResizeAdorner.cs
- GuidelineSet.cs
- AssociationSetEnd.cs
- LZCodec.cs
- DataGridCaption.cs
- FilteredDataSetHelper.cs
- ViewManager.cs
- pingexception.cs
- DetailsViewInsertEventArgs.cs