Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / IteratorFilter.cs / 1305376 / IteratorFilter.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; internal class IteratorFilter : XPathNodeIterator { private XPathNodeIterator innerIterator; private string name; private int position = 0; internal IteratorFilter(XPathNodeIterator innerIterator, string name) { this.innerIterator = innerIterator; this.name = name; } private IteratorFilter(IteratorFilter it) { this.innerIterator = it.innerIterator.Clone(); this.name = it.name; this.position = it.position; } public override XPathNodeIterator Clone() { return new IteratorFilter(this); } public override XPathNavigator Current { get { return innerIterator.Current;} } public override int CurrentPosition { get { return this.position; } } public override bool MoveNext() { while(innerIterator.MoveNext()) { if(innerIterator.Current.LocalName == this.name) { this.position ++; return true; } } return false; } } } // 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; internal class IteratorFilter : XPathNodeIterator { private XPathNodeIterator innerIterator; private string name; private int position = 0; internal IteratorFilter(XPathNodeIterator innerIterator, string name) { this.innerIterator = innerIterator; this.name = name; } private IteratorFilter(IteratorFilter it) { this.innerIterator = it.innerIterator.Clone(); this.name = it.name; this.position = it.position; } public override XPathNodeIterator Clone() { return new IteratorFilter(this); } public override XPathNavigator Current { get { return innerIterator.Current;} } public override int CurrentPosition { get { return this.position; } } public override bool MoveNext() { while(innerIterator.MoveNext()) { if(innerIterator.Current.LocalName == this.name) { this.position ++; return true; } } return false; } } } // 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
- RepeaterItem.cs
- XmlSchemaComplexContent.cs
- ListContractAdapter.cs
- ContentPlaceHolder.cs
- SqlDataSourceSelectingEventArgs.cs
- SchemaDeclBase.cs
- UIElementIsland.cs
- CellRelation.cs
- Directory.cs
- RadioButtonList.cs
- OptimizerPatterns.cs
- TableProviderWrapper.cs
- BrowserInteropHelper.cs
- XmlILAnnotation.cs
- GcSettings.cs
- Vector.cs
- Label.cs
- TransactionState.cs
- DocumentCollection.cs
- MenuCommandService.cs
- CacheChildrenQuery.cs
- ToolStripOverflowButton.cs
- GenericUriParser.cs
- NumericExpr.cs
- CodeAssignStatement.cs
- SafeLocalMemHandle.cs
- OrthographicCamera.cs
- RequestResizeEvent.cs
- safesecurityhelperavalon.cs
- CurrentTimeZone.cs
- FixedHighlight.cs
- CompleteWizardStep.cs
- SignatureHelper.cs
- ScriptReference.cs
- SystemIPInterfaceStatistics.cs
- Debug.cs
- SimpleFieldTemplateUserControl.cs
- CompositeCollection.cs
- TextBoxView.cs
- DbProviderFactoriesConfigurationHandler.cs
- ToolStripComboBox.cs
- DataGridPageChangedEventArgs.cs
- SoapObjectInfo.cs
- AddInIpcChannel.cs
- LocalizabilityAttribute.cs
- TemplatedAdorner.cs
- MenuCommands.cs
- XPathChildIterator.cs
- Expression.cs
- ChangePassword.cs
- TableRow.cs
- CommonDialog.cs
- EntityDataSourceDataSelection.cs
- TitleStyle.cs
- LayoutTable.cs
- MasterPage.cs
- ColorTranslator.cs
- ProviderException.cs
- DelayDesigner.cs
- ColorIndependentAnimationStorage.cs
- DataObjectSettingDataEventArgs.cs
- Bind.cs
- RequestBringIntoViewEventArgs.cs
- AddInController.cs
- JournalEntryStack.cs
- BufferedGraphicsContext.cs
- AttributedMetaModel.cs
- DataMemberConverter.cs
- TaiwanLunisolarCalendar.cs
- ClientSponsor.cs
- HttpClientCredentialType.cs
- BatchParser.cs
- FlagsAttribute.cs
- TextBox.cs
- XPathDocumentBuilder.cs
- FormsAuthenticationUserCollection.cs
- Constants.cs
- HttpModuleActionCollection.cs
- SkewTransform.cs
- FontInfo.cs
- GenerateTemporaryTargetAssembly.cs
- StrokeNode.cs
- FlatButtonAppearance.cs
- TrustLevelCollection.cs
- IDispatchConstantAttribute.cs
- SmiConnection.cs
- WinOEToolBoxItem.cs
- ModuleConfigurationInfo.cs
- ExceptionHandlerDesigner.cs
- TransformConverter.cs
- PeerNameRegistration.cs
- URLIdentityPermission.cs
- ResourceExpressionBuilder.cs
- SerializerProvider.cs
- TypeForwardedToAttribute.cs
- SafePEFileHandle.cs
- AlphaSortedEnumConverter.cs
- CssStyleCollection.cs
- HtmlControl.cs
- columnmapkeybuilder.cs