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
- BitmapMetadata.cs
- PreloadHost.cs
- PreservationFileWriter.cs
- GeneratedContractType.cs
- TypeDescriptor.cs
- ReadOnlyAttribute.cs
- HtmlTextArea.cs
- Keyboard.cs
- DynamicValidatorEventArgs.cs
- counter.cs
- XmlSchemaSimpleType.cs
- TransformPattern.cs
- ManagementEventWatcher.cs
- DataGridItemEventArgs.cs
- HandleCollector.cs
- ConnectionDemuxer.cs
- ImageAttributes.cs
- UniqueSet.cs
- ResXResourceWriter.cs
- CompatibleIComparer.cs
- EventWaitHandle.cs
- InputBinding.cs
- ReversePositionQuery.cs
- WindowsRebar.cs
- AnnotationComponentManager.cs
- TextRangeEdit.cs
- XmlNodeList.cs
- SqlClientFactory.cs
- BrowserCapabilitiesCodeGenerator.cs
- AuditLogLocation.cs
- DbXmlEnabledProviderManifest.cs
- ContainsRowNumberChecker.cs
- PermissionToken.cs
- TypeDescriptionProviderAttribute.cs
- CryptoStream.cs
- DataGrid.cs
- SafePEFileHandle.cs
- StaticSiteMapProvider.cs
- HttpHandler.cs
- StringUtil.cs
- FixedSOMLineCollection.cs
- DbDeleteCommandTree.cs
- MenuAutomationPeer.cs
- ServiceProviders.cs
- RowUpdatingEventArgs.cs
- templategroup.cs
- UserCancellationException.cs
- DesignerDataParameter.cs
- WindowsGraphicsCacheManager.cs
- odbcmetadatacollectionnames.cs
- DoubleIndependentAnimationStorage.cs
- TrackingServices.cs
- ByteStreamMessageUtility.cs
- Rfc2898DeriveBytes.cs
- Site.cs
- ForceCopyBuildProvider.cs
- LayeredChannelFactory.cs
- ContourSegment.cs
- SqlCachedBuffer.cs
- ProfileWorkflowElement.cs
- StrokeNodeData.cs
- ResXBuildProvider.cs
- Decimal.cs
- RoleBoolean.cs
- RepeatBehaviorConverter.cs
- WebPartTransformer.cs
- ApplicationServiceManager.cs
- GlobalizationAssembly.cs
- Splitter.cs
- DiscoveryRequestHandler.cs
- SqlConnectionFactory.cs
- IndexedSelectQueryOperator.cs
- LockRecursionException.cs
- LinearGradientBrush.cs
- HtmlFormParameterWriter.cs
- PackageDigitalSignature.cs
- EnumValAlphaComparer.cs
- HtmlElementErrorEventArgs.cs
- SignatureGenerator.cs
- TempFiles.cs
- StringPropertyBuilder.cs
- FixedSOMLineCollection.cs
- TimeSpan.cs
- ToolStripPanel.cs
- NativeMethods.cs
- ExpressionConverter.cs
- CacheVirtualItemsEvent.cs
- DemultiplexingClientMessageFormatter.cs
- LogPolicy.cs
- HMACSHA384.cs
- FtpRequestCacheValidator.cs
- OdbcConnectionStringbuilder.cs
- TreeNodeStyleCollection.cs
- FileDataSourceCache.cs
- XmlUrlResolver.cs
- RelationshipEndCollection.cs
- EmbeddedMailObjectsCollection.cs
- SqlNamer.cs
- EmptyQuery.cs
- LifetimeServices.cs