Code:
/ DotNET / DotNET / 8.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
- securitycriticaldata.cs
- DocobjHost.cs
- TextDecorationUnitValidation.cs
- XmlQuerySequence.cs
- NotSupportedException.cs
- InputManager.cs
- Manipulation.cs
- rsa.cs
- UrlPropertyAttribute.cs
- RelationshipSet.cs
- UndoEngine.cs
- EdmSchemaError.cs
- IBuiltInEvidence.cs
- MsmqHostedTransportConfiguration.cs
- WebBrowsableAttribute.cs
- XpsFixedDocumentReaderWriter.cs
- JsonGlobals.cs
- SpellerError.cs
- ButtonField.cs
- PageCanvasSize.cs
- PropertyChangeTracker.cs
- SoapExtensionTypeElementCollection.cs
- UrlEncodedParameterWriter.cs
- DataConnectionHelper.cs
- GlyphingCache.cs
- ObjectTag.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- PageBuildProvider.cs
- OleDbTransaction.cs
- __Error.cs
- MulticastDelegate.cs
- DetailsView.cs
- PenLineCapValidation.cs
- QuaternionAnimationUsingKeyFrames.cs
- NameValueCollection.cs
- CodeConditionStatement.cs
- DataListCommandEventArgs.cs
- IntranetCredentialPolicy.cs
- Atom10FormatterFactory.cs
- StreamSecurityUpgradeProvider.cs
- QilXmlReader.cs
- DataControlCommands.cs
- Sequence.cs
- DataSpaceManager.cs
- TypeConverter.cs
- GenericEnumerator.cs
- SpStreamWrapper.cs
- PageAdapter.cs
- RequestQueryProcessor.cs
- GeometryValueSerializer.cs
- TypedTableGenerator.cs
- ExceptionNotification.cs
- TimeIntervalCollection.cs
- AssemblyName.cs
- RotationValidation.cs
- PropertyCondition.cs
- XmlNodeChangedEventArgs.cs
- RemotingConfigParser.cs
- SqlTriggerContext.cs
- ColorBlend.cs
- KeyGestureValueSerializer.cs
- RemoteWebConfigurationHostServer.cs
- ImplicitInputBrush.cs
- HttpHandlersSection.cs
- WindowsFont.cs
- SendDesigner.xaml.cs
- StylusCaptureWithinProperty.cs
- CodeIterationStatement.cs
- WebPartConnectionsConnectVerb.cs
- BitmapEncoder.cs
- RtfToken.cs
- CodeCompileUnit.cs
- Selection.cs
- ContentPlaceHolder.cs
- PeerNameRecordCollection.cs
- EntityContainerAssociationSetEnd.cs
- RectangleF.cs
- CharKeyFrameCollection.cs
- FieldAccessException.cs
- DataGridViewSelectedCellCollection.cs
- UserInitiatedNavigationPermission.cs
- ModelUtilities.cs
- NativeWindow.cs
- XAMLParseException.cs
- ResourcePart.cs
- ScriptMethodAttribute.cs
- ObservableCollection.cs
- AutoCompleteStringCollection.cs
- ConfigXmlReader.cs
- SecurityElement.cs
- Size.cs
- MemberRelationshipService.cs
- SQLStringStorage.cs
- WebResourceAttribute.cs
- CompilerGlobalScopeAttribute.cs
- DataGridPageChangedEventArgs.cs
- UnsafeNativeMethods.cs
- FixedSOMGroup.cs
- SubMenuStyleCollection.cs
- SpecularMaterial.cs