Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NativeObjectSecurity.cs
- ExpressionHelper.cs
- ValidationErrorCollection.cs
- MediaTimeline.cs
- SimpleModelProvider.cs
- ImportDesigner.xaml.cs
- CFGGrammar.cs
- MyContact.cs
- JoinSymbol.cs
- OleServicesContext.cs
- URLAttribute.cs
- DataFormats.cs
- ListenerPerfCounters.cs
- ManualWorkflowSchedulerService.cs
- SynchronizedDispatch.cs
- ConnectionManagementElementCollection.cs
- Renderer.cs
- GroupLabel.cs
- Boolean.cs
- JsonStringDataContract.cs
- MaterialGroup.cs
- ping.cs
- ProviderIncompatibleException.cs
- DTCTransactionManager.cs
- VarRefManager.cs
- SignedXml.cs
- FigureHelper.cs
- Queue.cs
- SqlWorkflowPersistenceService.cs
- SoapAttributeAttribute.cs
- RegexMatchCollection.cs
- ArrayExtension.cs
- CodeAttributeArgument.cs
- FormatterServices.cs
- SynchronizationContextHelper.cs
- ResourceIDHelper.cs
- Misc.cs
- Point3D.cs
- TreeViewTemplateSelector.cs
- CapacityStreamGeometryContext.cs
- LogoValidationException.cs
- ReadOnlyKeyedCollection.cs
- ColorInterpolationModeValidation.cs
- UnauthorizedAccessException.cs
- SqlClientWrapperSmiStreamChars.cs
- ConnectivityStatus.cs
- TypeDependencyAttribute.cs
- ResourceAssociationTypeEnd.cs
- ISFTagAndGuidCache.cs
- SizeKeyFrameCollection.cs
- Collection.cs
- BlurEffect.cs
- Propagator.Evaluator.cs
- GenericIdentity.cs
- UmAlQuraCalendar.cs
- XsdDateTime.cs
- MsmqHostedTransportManager.cs
- EdmProviderManifest.cs
- ReliableMessagingVersion.cs
- Baml6Assembly.cs
- BamlRecordWriter.cs
- Semaphore.cs
- ColorTranslator.cs
- ViewEvent.cs
- _ConnectionGroup.cs
- DetailsViewRow.cs
- CellParagraph.cs
- XmlDataSourceView.cs
- TransactionValidationBehavior.cs
- PermissionListSet.cs
- RequestContext.cs
- CAGDesigner.cs
- FormViewInsertEventArgs.cs
- DiscoveryVersionConverter.cs
- TypeBrowser.xaml.cs
- Converter.cs
- FileUpload.cs
- GenericAuthenticationEventArgs.cs
- UserUseLicenseDictionaryLoader.cs
- CultureInfo.cs
- exports.cs
- AndCondition.cs
- StatusCommandUI.cs
- InternalConfigEventArgs.cs
- CacheHelper.cs
- CodeMemberMethod.cs
- TeredoHelper.cs
- ToolStripDropDownItem.cs
- Guid.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- DesignerVerb.cs
- ContextInformation.cs
- ImageField.cs
- DrawingCollection.cs
- ToolBarTray.cs
- DefaultTraceListener.cs
- ToolStripDropDownItemDesigner.cs
- DataGridViewRowConverter.cs
- TextFormatterImp.cs
- SizeConverter.cs