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
- securitymgrsite.cs
- ItemChangedEventArgs.cs
- DBConnection.cs
- CodeDomSerializationProvider.cs
- TransformerTypeCollection.cs
- BitmapEffectRenderDataResource.cs
- AllMembershipCondition.cs
- Grant.cs
- DataServiceHostFactory.cs
- ResumeStoryboard.cs
- CodeArrayCreateExpression.cs
- SelfIssuedAuthRSACryptoProvider.cs
- FontUnitConverter.cs
- RequestQueryProcessor.cs
- TrustLevelCollection.cs
- GeneralTransform3DTo2D.cs
- LazyTextWriterCreator.cs
- HttpInputStream.cs
- SwitchLevelAttribute.cs
- StorageInfo.cs
- SafeProcessHandle.cs
- WizardStepBase.cs
- CalendarBlackoutDatesCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ADConnectionHelper.cs
- HierarchicalDataSourceIDConverter.cs
- DiscoveryDefaults.cs
- ManifestBasedResourceGroveler.cs
- CompositeControl.cs
- DefaultClaimSet.cs
- ActivationServices.cs
- PersonalizationEntry.cs
- DrawingBrush.cs
- XmlILIndex.cs
- ToolBarPanel.cs
- SessionIDManager.cs
- CollectionContainer.cs
- UserPreference.cs
- SBCSCodePageEncoding.cs
- DynamicRenderer.cs
- TitleStyle.cs
- XamlClipboardData.cs
- GenericPrincipal.cs
- TraceLog.cs
- BitmapEffect.cs
- EntityContainerEmitter.cs
- SimpleApplicationHost.cs
- GridViewRow.cs
- XmlSubtreeReader.cs
- DllNotFoundException.cs
- BitmapEffectDrawingContent.cs
- QuaternionIndependentAnimationStorage.cs
- PointUtil.cs
- XmlSchemaNotation.cs
- DataGridViewCellStateChangedEventArgs.cs
- XsltArgumentList.cs
- GcHandle.cs
- ProcessingInstructionAction.cs
- BlockCollection.cs
- VerificationAttribute.cs
- VirtualDirectoryMappingCollection.cs
- LocatorPartList.cs
- CodeGotoStatement.cs
- ModelUIElement3D.cs
- EntitySqlException.cs
- CheckoutException.cs
- DocumentPaginator.cs
- GridViewCommandEventArgs.cs
- ValidationErrorCollection.cs
- TextBreakpoint.cs
- DataBinding.cs
- TypeUsageBuilder.cs
- SqlFunctionAttribute.cs
- Button.cs
- ServiceMetadataContractBehavior.cs
- DocumentReferenceCollection.cs
- IList.cs
- DataGridCommandEventArgs.cs
- SqlDependencyListener.cs
- MouseEventArgs.cs
- OleDbRowUpdatingEvent.cs
- X500Name.cs
- RowToParametersTransformer.cs
- SecurityManager.cs
- SoapSchemaImporter.cs
- DataMemberFieldConverter.cs
- DataPagerField.cs
- TemplateNameScope.cs
- ContentElementAutomationPeer.cs
- HashAlgorithm.cs
- AsyncOperationContext.cs
- SkinIDTypeConverter.cs
- AutomationElementIdentifiers.cs
- RotateTransform3D.cs
- XmlSerializerObjectSerializer.cs
- Currency.cs
- WebResponse.cs
- SizeAnimation.cs
- RootCodeDomSerializer.cs
- DesignerDataSchemaClass.cs