Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / XPath / Internal / XPathArrayIterator.cs / 1 / 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. // //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- newinstructionaction.cs
- DescriptionAttribute.cs
- DetailsViewDeletedEventArgs.cs
- MgmtConfigurationRecord.cs
- RowBinding.cs
- IRCollection.cs
- ScrollItemPattern.cs
- GridView.cs
- HandleCollector.cs
- CustomServiceCredentials.cs
- CssTextWriter.cs
- MeshGeometry3D.cs
- SlipBehavior.cs
- ValidationPropertyAttribute.cs
- DependencyObject.cs
- CatalogPart.cs
- System.Data_BID.cs
- GeometryHitTestResult.cs
- ComponentResourceKeyConverter.cs
- SqlCachedBuffer.cs
- BindStream.cs
- RuntimeConfig.cs
- wgx_commands.cs
- Helper.cs
- UIAgentInitializationException.cs
- DocumentSchemaValidator.cs
- ModulesEntry.cs
- UnsafeNativeMethods.cs
- ClonableStack.cs
- AsyncResult.cs
- OleDbReferenceCollection.cs
- SqlProviderServices.cs
- CustomCategoryAttribute.cs
- GuidelineSet.cs
- StylusOverProperty.cs
- XmlMembersMapping.cs
- CqlLexer.cs
- CodeMemberMethod.cs
- XmlFormatWriterGenerator.cs
- UriParserTemplates.cs
- StringFunctions.cs
- SslSecurityTokenParameters.cs
- SoapServerProtocol.cs
- TrayIconDesigner.cs
- _SSPIWrapper.cs
- ImageListUtils.cs
- ProgressBar.cs
- RoutedPropertyChangedEventArgs.cs
- Attributes.cs
- DivideByZeroException.cs
- DataTableMapping.cs
- DBSqlParserTable.cs
- HostProtectionPermission.cs
- CustomAttributeSerializer.cs
- CallId.cs
- StylusPointPropertyInfo.cs
- DbTransaction.cs
- ByteAnimationUsingKeyFrames.cs
- PathGradientBrush.cs
- EditorZoneBase.cs
- BoundsDrawingContextWalker.cs
- CryptoStream.cs
- SystemTcpStatistics.cs
- IncrementalCompileAnalyzer.cs
- Timer.cs
- TextureBrush.cs
- Drawing.cs
- PersonalizationState.cs
- WebPartTransformerCollection.cs
- AsyncResult.cs
- ScrollEvent.cs
- X509ImageLogo.cs
- ToolStripOverflowButton.cs
- XmlHierarchicalEnumerable.cs
- HwndSourceKeyboardInputSite.cs
- ImageMap.cs
- RsaSecurityTokenParameters.cs
- NavigatorInput.cs
- CodeArrayIndexerExpression.cs
- TdsValueSetter.cs
- UnsafeNativeMethods.cs
- TraceData.cs
- BStrWrapper.cs
- ListItemCollection.cs
- FileSystemEventArgs.cs
- AppDomainShutdownMonitor.cs
- XmlSignificantWhitespace.cs
- basecomparevalidator.cs
- ShortcutKeysEditor.cs
- SqlTriggerContext.cs
- MemoryRecordBuffer.cs
- DrawListViewColumnHeaderEventArgs.cs
- Asn1IntegerConverter.cs
- BaseServiceProvider.cs
- FileIOPermission.cs
- RangeBaseAutomationPeer.cs
- WaitHandleCannotBeOpenedException.cs
- ListSortDescription.cs
- SecurityValidationBehavior.cs
- TemplatePartAttribute.cs