Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Xml / System / Xml / XPath / Internal / ResetableIterator.cs / 1 / ResetableIterator.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 abstract class ResetableIterator : XPathNodeIterator { // the best place for this constructors to be is XPathNodeIterator, to avoid DCR at this time let's ground them here public ResetableIterator() { base.count = -1; } protected ResetableIterator(ResetableIterator other) { base.count = other.count; } protected void ResetCount() { base.count = -1; } public abstract void Reset(); public virtual bool MoveToPosition(int pos) { Reset(); for(int i = CurrentPosition; i < pos ; i ++) { if(!MoveNext()) { return false; } } return true; } // Contruct extension: CurrentPosition should return 0 if MoveNext() wasn't called after Reset() // (behavior is not defined for XPathNodeIterator) public abstract override int CurrentPosition { get; } } } // 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 abstract class ResetableIterator : XPathNodeIterator { // the best place for this constructors to be is XPathNodeIterator, to avoid DCR at this time let's ground them here public ResetableIterator() { base.count = -1; } protected ResetableIterator(ResetableIterator other) { base.count = other.count; } protected void ResetCount() { base.count = -1; } public abstract void Reset(); public virtual bool MoveToPosition(int pos) { Reset(); for(int i = CurrentPosition; i < pos ; i ++) { if(!MoveNext()) { return false; } } return true; } // Contruct extension: CurrentPosition should return 0 if MoveNext() wasn't called after Reset() // (behavior is not defined for XPathNodeIterator) public abstract override int CurrentPosition { get; } } } // 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
- StringFreezingAttribute.cs
- ServiceObjectContainer.cs
- ListParagraph.cs
- JsonUriDataContract.cs
- AudioLevelUpdatedEventArgs.cs
- ErasingStroke.cs
- AsymmetricKeyExchangeDeformatter.cs
- PeerUnsafeNativeMethods.cs
- DesignerHelpers.cs
- DeviceContext2.cs
- AxHost.cs
- ParentQuery.cs
- PanelDesigner.cs
- XmlReflectionImporter.cs
- ProtocolImporter.cs
- UpdateCompiler.cs
- UrlMappingsModule.cs
- CodeCompileUnit.cs
- MouseDevice.cs
- DocumentViewer.cs
- HttpConfigurationContext.cs
- DataControlPagerLinkButton.cs
- CodeExpressionCollection.cs
- CommandValueSerializer.cs
- Cell.cs
- NativeMethods.cs
- RegexCaptureCollection.cs
- XNodeNavigator.cs
- _AcceptOverlappedAsyncResult.cs
- RegionIterator.cs
- KeyNotFoundException.cs
- SerializerWriterEventHandlers.cs
- IFlowDocumentViewer.cs
- DataGridItemCollection.cs
- UserPersonalizationStateInfo.cs
- HiddenFieldPageStatePersister.cs
- HttpContext.cs
- CodeAccessPermission.cs
- AsymmetricSecurityProtocolFactory.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- ConstraintManager.cs
- IBuiltInEvidence.cs
- DockAndAnchorLayout.cs
- ComponentChangedEvent.cs
- WindowsFormsHelpers.cs
- XmlHierarchicalEnumerable.cs
- ResetableIterator.cs
- URLMembershipCondition.cs
- DefaultAsyncDataDispatcher.cs
- SqlError.cs
- GenericPrincipal.cs
- SequenceQuery.cs
- Error.cs
- CodeExpressionStatement.cs
- WebHttpBindingElement.cs
- FrameworkTextComposition.cs
- SimpleType.cs
- HostUtils.cs
- DesignerActionPropertyItem.cs
- PageThemeBuildProvider.cs
- EntityContainerEmitter.cs
- ButtonAutomationPeer.cs
- GenericXmlSecurityToken.cs
- CollaborationHelperFunctions.cs
- ImageEditor.cs
- ICollection.cs
- XmlText.cs
- Thumb.cs
- ConnectivityStatus.cs
- SpStreamWrapper.cs
- PermissionSetTriple.cs
- HtmlForm.cs
- SoundPlayerAction.cs
- CornerRadius.cs
- CodeIdentifiers.cs
- GeneralTransform2DTo3DTo2D.cs
- PreservationFileWriter.cs
- AutoResetEvent.cs
- ManipulationCompletedEventArgs.cs
- ContractNamespaceAttribute.cs
- WebScriptServiceHost.cs
- XmlSerializerSection.cs
- TreeNodeCollection.cs
- SqlDataSourceCache.cs
- comcontractssection.cs
- GenericIdentity.cs
- DataGridViewSortCompareEventArgs.cs
- FileDialog_Vista.cs
- TypeDescriptorContext.cs
- BoundConstants.cs
- Keywords.cs
- JoinGraph.cs
- XPathNodeList.cs
- OdbcEnvironment.cs
- SymmetricAlgorithm.cs
- RepeaterCommandEventArgs.cs
- BezierSegment.cs
- CopyOfAction.cs
- iisPickupDirectory.cs
- SessionStateSection.cs