Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- Queue.cs
- ButtonRenderer.cs
- EventLogEntry.cs
- Matrix3DValueSerializer.cs
- CharStorage.cs
- QueryPageSettingsEventArgs.cs
- InputManager.cs
- GlyphRunDrawing.cs
- ButtonPopupAdapter.cs
- _Connection.cs
- MediaCommands.cs
- AddInContractAttribute.cs
- MatrixTransform3D.cs
- RSACryptoServiceProvider.cs
- DataGridCaption.cs
- mil_sdk_version.cs
- InheritanceContextChangedEventManager.cs
- BackStopAuthenticationModule.cs
- ActivityCollectionMarkupSerializer.cs
- ListViewItem.cs
- QilChoice.cs
- HelpInfo.cs
- While.cs
- StyleBamlRecordReader.cs
- ToolStripControlHost.cs
- MetabaseSettingsIis7.cs
- EmptyEnumerable.cs
- UserControl.cs
- httpstaticobjectscollection.cs
- IOThreadTimer.cs
- RectangleGeometry.cs
- ToolStripScrollButton.cs
- PageWrapper.cs
- LambdaCompiler.cs
- Annotation.cs
- XmlNodeChangedEventManager.cs
- WeakReadOnlyCollection.cs
- CodeBinaryOperatorExpression.cs
- BooleanConverter.cs
- OraclePermissionAttribute.cs
- AsyncStreamReader.cs
- ImageCodecInfoPrivate.cs
- AutomationElementCollection.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- Padding.cs
- QueuePropertyVariants.cs
- AssemblyBuilder.cs
- NumberSubstitution.cs
- ConsumerConnectionPoint.cs
- DesignerExtenders.cs
- _ShellExpression.cs
- ColorConverter.cs
- InvalidOperationException.cs
- UniqueCodeIdentifierScope.cs
- SHA256Managed.cs
- DataPagerFieldCollection.cs
- ExtendedPropertyDescriptor.cs
- Stack.cs
- DataListItem.cs
- BulletDecorator.cs
- FixedPageAutomationPeer.cs
- FlowDocumentFormatter.cs
- Environment.cs
- SmiMetaData.cs
- VisualStyleRenderer.cs
- FieldDescriptor.cs
- Knowncolors.cs
- FatalException.cs
- SecurityRuntime.cs
- UnhandledExceptionEventArgs.cs
- HttpPostProtocolImporter.cs
- SqlProcedureAttribute.cs
- WeakHashtable.cs
- QueryCacheKey.cs
- Converter.cs
- RoutedEventHandlerInfo.cs
- SearchForVirtualItemEventArgs.cs
- BamlLocalizableResource.cs
- DataGridViewComboBoxEditingControl.cs
- DataGridViewAutoSizeModeEventArgs.cs
- Int32CollectionConverter.cs
- DetailsViewPagerRow.cs
- XmlSchemaCompilationSettings.cs
- TemplateControlCodeDomTreeGenerator.cs
- ProfileSection.cs
- UriTemplateVariablePathSegment.cs
- EventLogPermissionAttribute.cs
- EditCommandColumn.cs
- SqlStream.cs
- NetDataContractSerializer.cs
- ObjectListShowCommandsEventArgs.cs
- TableLayout.cs
- DataObject.cs
- DocumentSchemaValidator.cs
- DoubleCollectionConverter.cs
- ApplicationId.cs
- basemetadatamappingvisitor.cs
- TextTreeInsertElementUndoUnit.cs
- HelpInfo.cs
- WsatTransactionInfo.cs