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
- XhtmlBasicLabelAdapter.cs
- HwndSourceKeyboardInputSite.cs
- StateMachineWorkflowDesigner.cs
- PropertyDescriptors.cs
- CommandDevice.cs
- Types.cs
- DoubleLinkList.cs
- TabControl.cs
- FormViewPagerRow.cs
- Zone.cs
- XmlTextEncoder.cs
- HttpContext.cs
- ModelService.cs
- PageClientProxyGenerator.cs
- StylusEventArgs.cs
- ContentElement.cs
- SizeValueSerializer.cs
- XmlDigitalSignatureProcessor.cs
- Odbc32.cs
- AsyncPostBackErrorEventArgs.cs
- XPathBuilder.cs
- BooleanConverter.cs
- ContextMenuService.cs
- SoapSchemaImporter.cs
- DataViewManager.cs
- CodeIdentifier.cs
- ConfigurationErrorsException.cs
- HtmlHistory.cs
- HtmlInputButton.cs
- StoreAnnotationsMap.cs
- SingletonConnectionReader.cs
- PersonalizationStateInfoCollection.cs
- MatchingStyle.cs
- _LocalDataStoreMgr.cs
- SimpleHandlerBuildProvider.cs
- PrinterUnitConvert.cs
- HtmlInputButton.cs
- WebBrowserHelper.cs
- GatewayDefinition.cs
- ThreadPoolTaskScheduler.cs
- SchemaAttDef.cs
- TrackingRecord.cs
- XXXOnTypeBuilderInstantiation.cs
- SecuritySessionServerSettings.cs
- CodeDOMUtility.cs
- ToolStripPanel.cs
- ContentPosition.cs
- GPPOINTF.cs
- FormsAuthenticationUser.cs
- MILUtilities.cs
- DtdParser.cs
- XmlDocumentFragment.cs
- TextBoxRenderer.cs
- DataBindingHandlerAttribute.cs
- SystemNetworkInterface.cs
- PersonalizableAttribute.cs
- EpmContentSerializer.cs
- PrintDialog.cs
- WebPartCloseVerb.cs
- SchemaUtility.cs
- Int16Storage.cs
- RadioButtonList.cs
- SqlProviderUtilities.cs
- RewritingPass.cs
- StopStoryboard.cs
- SqlNodeAnnotations.cs
- WaitForChangedResult.cs
- PartBasedPackageProperties.cs
- ManifestBasedResourceGroveler.cs
- DataTableClearEvent.cs
- DataMemberListEditor.cs
- DefaultBinder.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- HotSpotCollection.cs
- ListViewCancelEventArgs.cs
- SrgsElementList.cs
- ResourceContainerWrapper.cs
- SmtpMail.cs
- ConnectionPoint.cs
- ZipIOFileItemStream.cs
- ColorComboBox.cs
- PrePrepareMethodAttribute.cs
- XmlNodeChangedEventArgs.cs
- ListControl.cs
- XpsS0ValidatingLoader.cs
- ActivityScheduledRecord.cs
- HtmlTableRow.cs
- Utilities.cs
- IDQuery.cs
- GiveFeedbackEventArgs.cs
- Int16.cs
- KeyFrames.cs
- UIElement3DAutomationPeer.cs
- _NegotiateClient.cs
- MatrixCamera.cs
- AbstractSvcMapFileLoader.cs
- XPathDescendantIterator.cs
- WebPartConnectionCollection.cs
- FixUp.cs
- EdmItemError.cs