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
- DomainUpDown.cs
- sqlser.cs
- PropertyValueUIItem.cs
- FunctionNode.cs
- ZipIOExtraFieldPaddingElement.cs
- GridViewSortEventArgs.cs
- DelegatingConfigHost.cs
- RegularExpressionValidator.cs
- IListConverters.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- CatalogZoneBase.cs
- _RequestCacheProtocol.cs
- Effect.cs
- XDRSchema.cs
- HWStack.cs
- XmlUTF8TextWriter.cs
- SerialPinChanges.cs
- OutputScope.cs
- ObjectSecurity.cs
- StatusBar.cs
- SHA1CryptoServiceProvider.cs
- SmtpFailedRecipientsException.cs
- SoapObjectInfo.cs
- MULTI_QI.cs
- _IPv6Address.cs
- ButtonStandardAdapter.cs
- DataService.cs
- Exceptions.cs
- StreamAsIStream.cs
- SqlInternalConnectionSmi.cs
- XamlClipboardData.cs
- UnmanagedMarshal.cs
- FixedDSBuilder.cs
- CounterSampleCalculator.cs
- PropertyItemInternal.cs
- Typography.cs
- X509CertificateValidator.cs
- ParagraphResult.cs
- XmlSchemaInclude.cs
- LongValidatorAttribute.cs
- SQLRoleProvider.cs
- DatePicker.cs
- CheckedPointers.cs
- DataSourceDesigner.cs
- ExpressionVisitor.cs
- XamlStyleSerializer.cs
- DSACryptoServiceProvider.cs
- AnnotationResource.cs
- EdmType.cs
- SR.Designer.cs
- ProjectionPlan.cs
- TagMapCollection.cs
- BaseParser.cs
- ObjectSet.cs
- QueryableDataSourceEditData.cs
- SystemIPAddressInformation.cs
- activationcontext.cs
- DesignSurfaceCollection.cs
- MethodToken.cs
- Size3DConverter.cs
- TrustLevelCollection.cs
- _MultipleConnectAsync.cs
- Matrix3DValueSerializer.cs
- DefaultPropertiesToSend.cs
- StateWorkerRequest.cs
- ReadOnlyCollection.cs
- SpStreamWrapper.cs
- IpcPort.cs
- ControlCachePolicy.cs
- TextReturnReader.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- EntityDesignerUtils.cs
- BitmapCodecInfoInternal.cs
- HttpCapabilitiesSectionHandler.cs
- ClientSettings.cs
- Stacktrace.cs
- ThreadLocal.cs
- TabPageDesigner.cs
- LineSegment.cs
- HashHelper.cs
- XmlSerializer.cs
- ContainerControl.cs
- ValidationRule.cs
- JoinQueryOperator.cs
- SplitterEvent.cs
- FileLogRecord.cs
- Message.cs
- MessagePropertyVariants.cs
- HtmlInputRadioButton.cs
- ReferencedAssemblyResolver.cs
- XmlSchemaSimpleType.cs
- _HeaderInfo.cs
- _FtpControlStream.cs
- ListViewInsertedEventArgs.cs
- TemplatePagerField.cs
- ISO2022Encoding.cs
- HealthMonitoringSectionHelper.cs
- GlyphRun.cs
- SqlDataSourceCache.cs
- Zone.cs