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 / 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
- ImageDesigner.cs
- QueryReaderSettings.cs
- TabControlCancelEvent.cs
- EntryIndex.cs
- XmlSchemaIdentityConstraint.cs
- DataRecord.cs
- GACMembershipCondition.cs
- CustomAttributeSerializer.cs
- ScrollProperties.cs
- RecordsAffectedEventArgs.cs
- ToolStripContextMenu.cs
- DataServiceException.cs
- DataException.cs
- GradientStop.cs
- ApplicationManager.cs
- RSAPKCS1KeyExchangeFormatter.cs
- BoundConstants.cs
- ParserContext.cs
- TabControl.cs
- DocumentSequence.cs
- MessageSecurityOverHttp.cs
- TextServicesCompartmentContext.cs
- MaskedTextProvider.cs
- AsymmetricKeyExchangeFormatter.cs
- ValidationSummary.cs
- ApplicationBuildProvider.cs
- BrushConverter.cs
- PolyBezierSegment.cs
- ValidationEventArgs.cs
- MultipleViewPatternIdentifiers.cs
- XmlObjectSerializerReadContext.cs
- DllNotFoundException.cs
- ForceCopyBuildProvider.cs
- GenericIdentity.cs
- ContentPlaceHolder.cs
- PerformanceCounterManager.cs
- ProjectionPruner.cs
- DashStyle.cs
- AsyncInvokeContext.cs
- WaitHandle.cs
- DragDropHelper.cs
- GroupStyle.cs
- RolePrincipal.cs
- WebServicesSection.cs
- GridViewUpdatedEventArgs.cs
- DataBindingCollection.cs
- LinkConverter.cs
- Button.cs
- EntityViewGenerationAttribute.cs
- HtmlTableCell.cs
- InteropExecutor.cs
- DynamicMetaObjectBinder.cs
- MiniConstructorInfo.cs
- ResolveNextArgumentWorkItem.cs
- UntrustedRecipientException.cs
- PersistenceTypeAttribute.cs
- CharacterMetricsDictionary.cs
- StaticSiteMapProvider.cs
- WebPartTracker.cs
- ConnectionsZone.cs
- RemoteWebConfigurationHostServer.cs
- DataGridViewCellStyleEditor.cs
- StatusBar.cs
- ScriptingAuthenticationServiceSection.cs
- BindingValueChangedEventArgs.cs
- BorderGapMaskConverter.cs
- Calendar.cs
- Repeater.cs
- BitSet.cs
- base64Transforms.cs
- ScopeCompiler.cs
- DataTableClearEvent.cs
- ParallelTimeline.cs
- ListItemConverter.cs
- DATA_BLOB.cs
- RawKeyboardInputReport.cs
- FixUp.cs
- DataPointer.cs
- BehaviorEditorPart.cs
- RbTree.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- XmlTextReaderImpl.cs
- SafeLocalMemHandle.cs
- DataPagerFieldCommandEventArgs.cs
- DataRowView.cs
- ObjectDataSourceChooseMethodsPanel.cs
- UnsafeNativeMethods.cs
- EventToken.cs
- NativeCppClassAttribute.cs
- SystemResources.cs
- SqlCacheDependencyDatabase.cs
- TransportElement.cs
- MouseBinding.cs
- PersistChildrenAttribute.cs
- HeaderCollection.cs
- ComboBoxRenderer.cs
- TableItemStyle.cs
- ReliabilityContractAttribute.cs
- ImageClickEventArgs.cs
- TemplateControlParser.cs