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
- SpecularMaterial.cs
- JsonClassDataContract.cs
- DeclarativeCatalogPart.cs
- RegexStringValidator.cs
- QueryIntervalOp.cs
- CodeTypeConstructor.cs
- EventEntry.cs
- XhtmlTextWriter.cs
- Function.cs
- SelectionBorderGlyph.cs
- ExclusiveHandleList.cs
- BaseCodeDomTreeGenerator.cs
- XmlSchemaObjectTable.cs
- CultureTableRecord.cs
- DecimalAnimationBase.cs
- MemberAssignmentAnalysis.cs
- DoubleCollection.cs
- ShaperBuffers.cs
- ColorConverter.cs
- DocumentViewerAutomationPeer.cs
- NetPeerTcpBindingElement.cs
- MemoryMappedViewStream.cs
- TemplateBindingExtensionConverter.cs
- ConfigXmlCDataSection.cs
- WebRequestModuleElement.cs
- MethodMessage.cs
- EditorPart.cs
- ListViewItemMouseHoverEvent.cs
- IFlowDocumentViewer.cs
- UidManager.cs
- SHA384Managed.cs
- SSmlParser.cs
- SqlCaseSimplifier.cs
- CheckBox.cs
- TemplateXamlParser.cs
- VisualBrush.cs
- SerTrace.cs
- MatrixUtil.cs
- AssemblyInfo.cs
- QilTargetType.cs
- FileLoadException.cs
- BitmapSourceSafeMILHandle.cs
- Oci.cs
- ThicknessKeyFrameCollection.cs
- EntityStoreSchemaFilterEntry.cs
- NonSerializedAttribute.cs
- EmptyEnumerable.cs
- RelatedImageListAttribute.cs
- IgnoreSection.cs
- Delegate.cs
- TextClipboardData.cs
- ProcessingInstructionAction.cs
- WebPartEditorApplyVerb.cs
- TemplatedMailWebEventProvider.cs
- BoundColumn.cs
- ColorConvertedBitmapExtension.cs
- PtsCache.cs
- ControlTemplate.cs
- KeyNotFoundException.cs
- EntryWrittenEventArgs.cs
- IMembershipProvider.cs
- ExtenderControl.cs
- SqlXmlStorage.cs
- RijndaelManagedTransform.cs
- DoubleCollectionConverter.cs
- DBCommandBuilder.cs
- LinkLabelLinkClickedEvent.cs
- QilBinary.cs
- XmlSerializerFactory.cs
- brushes.cs
- SignedXml.cs
- ManipulationVelocities.cs
- HelpHtmlBuilder.cs
- WorkflowDesignerColors.cs
- ImageMap.cs
- ArgumentNullException.cs
- DataTemplateKey.cs
- ProgressBarRenderer.cs
- XmlEntity.cs
- NameValuePair.cs
- ConditionedDesigner.cs
- XmlSchemaObjectTable.cs
- ShadowGlyph.cs
- WebPartCancelEventArgs.cs
- ParameterCollection.cs
- ClientUtils.cs
- XmlNodeWriter.cs
- XPathEmptyIterator.cs
- FieldNameLookup.cs
- MetadataArtifactLoaderResource.cs
- RuntimeConfigLKG.cs
- TripleDES.cs
- OracleDataAdapter.cs
- MouseActionConverter.cs
- XmlSignatureProperties.cs
- TcpClientChannel.cs
- Propagator.JoinPropagator.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SharedDp.cs
- CompilerGeneratedAttribute.cs