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 / IteratorFilter.cs / 1 / 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
- WindowsClaimSet.cs
- ApplicationInfo.cs
- DesignerSerializationOptionsAttribute.cs
- ApplicationContext.cs
- AsyncCodeActivity.cs
- keycontainerpermission.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SchemaCollectionPreprocessor.cs
- AssociationSet.cs
- HMACSHA512.cs
- Expr.cs
- HtmlInputImage.cs
- VoiceInfo.cs
- MD5CryptoServiceProvider.cs
- StrongNameUtility.cs
- GridView.cs
- PathNode.cs
- TemplatedMailWebEventProvider.cs
- ConnectionDemuxer.cs
- ClientConfigPaths.cs
- Accessible.cs
- TextBoxBaseDesigner.cs
- DataIdProcessor.cs
- SqlDataAdapter.cs
- Label.cs
- sqlnorm.cs
- ToolBarButton.cs
- CookieHandler.cs
- Location.cs
- FacetValues.cs
- GridViewPageEventArgs.cs
- RelationshipConstraintValidator.cs
- SvcMapFileLoader.cs
- CheckoutException.cs
- SqlXmlStorage.cs
- DetailsViewInsertedEventArgs.cs
- VerificationAttribute.cs
- AssociatedControlConverter.cs
- CodeVariableReferenceExpression.cs
- ClientTargetCollection.cs
- CommandHelpers.cs
- DataRowCollection.cs
- EntityContainerEmitter.cs
- BindableTemplateBuilder.cs
- SystemNetworkInterface.cs
- ArrangedElement.cs
- Int32Animation.cs
- WarningException.cs
- DemultiplexingClientMessageFormatter.cs
- ConstraintStruct.cs
- FacetChecker.cs
- SimpleApplicationHost.cs
- IsolatedStorageFile.cs
- CoreChannel.cs
- UnsignedPublishLicense.cs
- SizeF.cs
- WinEventQueueItem.cs
- CaseInsensitiveComparer.cs
- StructuralCache.cs
- IpcServerChannel.cs
- OdbcException.cs
- XmlSchemas.cs
- ConfigErrorGlyph.cs
- SQLUtility.cs
- GridViewColumnHeader.cs
- GrammarBuilderBase.cs
- TrustManager.cs
- TrackingProfileSerializer.cs
- oledbmetadatacollectionnames.cs
- MemoryRecordBuffer.cs
- SqlRowUpdatingEvent.cs
- RadioButtonFlatAdapter.cs
- NetworkInterface.cs
- CodeDelegateInvokeExpression.cs
- UnsupportedPolicyOptionsException.cs
- DataSourceHelper.cs
- Directory.cs
- ErrorProvider.cs
- TimeStampChecker.cs
- PropertyEmitterBase.cs
- AutoSizeToolBoxItem.cs
- XmlSerializationReader.cs
- filewebrequest.cs
- XmlSchemaAnnotated.cs
- HierarchicalDataTemplate.cs
- SQLByte.cs
- Popup.cs
- DeclarativeCatalogPart.cs
- BitmapEncoder.cs
- Ticks.cs
- ContentPresenter.cs
- DbSourceCommand.cs
- StorageFunctionMapping.cs
- ImportCatalogPart.cs
- IndicFontClient.cs
- DocumentStream.cs
- RenderDataDrawingContext.cs
- ChangeConflicts.cs
- AssemblyResourceLoader.cs
- DataGridRelationshipRow.cs