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
- RsaSecurityTokenAuthenticator.cs
- AnimationClock.cs
- RemoveStoryboard.cs
- AdRotator.cs
- DataColumnChangeEvent.cs
- WriterOutput.cs
- XmlDictionaryWriter.cs
- Vertex.cs
- WebPartConnectionsCancelEventArgs.cs
- WindowsTreeView.cs
- WebConfigurationFileMap.cs
- DrawingCollection.cs
- WebEncodingValidatorAttribute.cs
- OperatingSystemVersionCheck.cs
- PrefixHandle.cs
- ProvidersHelper.cs
- MdImport.cs
- DataControlPagerLinkButton.cs
- LocalizationComments.cs
- RoleService.cs
- Style.cs
- SqlCacheDependency.cs
- Crc32.cs
- AnnotationAuthorChangedEventArgs.cs
- MimeMultiPart.cs
- Int16Converter.cs
- MissingFieldException.cs
- TreeWalker.cs
- SourceFileInfo.cs
- IItemProperties.cs
- SapiRecoContext.cs
- ReflectionUtil.cs
- ToolStripLocationCancelEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- SHA384.cs
- CompositeCollection.cs
- XmlResolver.cs
- AssemblyName.cs
- ConstraintEnumerator.cs
- ColumnBinding.cs
- ValidationContext.cs
- SplitterPanel.cs
- TypedRowGenerator.cs
- CredentialManagerDialog.cs
- SplitterDesigner.cs
- LabelDesigner.cs
- InternalEnumValidator.cs
- NullableConverter.cs
- DeclarativeCatalogPartDesigner.cs
- BaseValidatorDesigner.cs
- WindowsNonControl.cs
- CharStorage.cs
- AlgoModule.cs
- LogPolicy.cs
- GZipDecoder.cs
- StringValidator.cs
- ThreadExceptionDialog.cs
- SqlDependencyListener.cs
- PersonalizationProvider.cs
- TypeBuilder.cs
- Trace.cs
- SqlDataReaderSmi.cs
- ServiceMemoryGates.cs
- DataGridPagerStyle.cs
- activationcontext.cs
- LinqDataSourceDisposeEventArgs.cs
- ConvertEvent.cs
- ToolboxItemCollection.cs
- AttachmentCollection.cs
- State.cs
- TemplatedEditableDesignerRegion.cs
- QilInvokeEarlyBound.cs
- ComponentCache.cs
- PropertyPanel.cs
- DrawingContextDrawingContextWalker.cs
- DecoderBestFitFallback.cs
- RouteItem.cs
- PixelShader.cs
- CountdownEvent.cs
- KeyProperty.cs
- MenuCommand.cs
- CommonRemoteMemoryBlock.cs
- InfoCardSymmetricAlgorithm.cs
- Point3DConverter.cs
- DesignerActionService.cs
- GridViewRowPresenter.cs
- ControlType.cs
- PeerNearMe.cs
- TextTreeText.cs
- Boolean.cs
- ObjectSpanRewriter.cs
- MessageHeaderDescription.cs
- AssociativeAggregationOperator.cs
- PropertyChangeTracker.cs
- EntityDataSourceSelectedEventArgs.cs
- WebPartConnectionsConfigureVerb.cs
- SHA512CryptoServiceProvider.cs
- Margins.cs
- DecoderReplacementFallback.cs
- RawTextInputReport.cs