Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / Internal / ResetableIterator.cs / 1305376 / 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
- ListViewInsertEventArgs.cs
- DataGridAutoFormat.cs
- Span.cs
- EpmSourcePathSegment.cs
- DataGrid.cs
- DateTimeParse.cs
- Button.cs
- TextEditorThreadLocalStore.cs
- Properties.cs
- ManagementObjectCollection.cs
- PathData.cs
- BreakRecordTable.cs
- RuntimeConfig.cs
- ToolStripSeparator.cs
- ConditionalAttribute.cs
- TransactionScope.cs
- SoapAttributeOverrides.cs
- CommentAction.cs
- MarkupCompiler.cs
- GeneralTransform2DTo3D.cs
- DataGridViewCellFormattingEventArgs.cs
- XmlRootAttribute.cs
- TrackBarRenderer.cs
- WebPartDisplayModeCollection.cs
- Grant.cs
- HttpContextWrapper.cs
- Misc.cs
- TextEditorTyping.cs
- RenameRuleObjectDialog.Designer.cs
- GroupBox.cs
- DependencyObjectPropertyDescriptor.cs
- SystemDiagnosticsSection.cs
- TextTreeTextElementNode.cs
- Win32PrintDialog.cs
- WebAdminConfigurationHelper.cs
- RunWorkerCompletedEventArgs.cs
- OneOfScalarConst.cs
- OSFeature.cs
- XmlValidatingReaderImpl.cs
- SimpleHandlerBuildProvider.cs
- TlsSspiNegotiation.cs
- ObservableCollectionDefaultValueFactory.cs
- TiffBitmapDecoder.cs
- TreeWalker.cs
- Queue.cs
- OracleConnectionStringBuilder.cs
- ReflectionTypeLoadException.cs
- TypefaceMetricsCache.cs
- TrackBarRenderer.cs
- Style.cs
- CngProperty.cs
- ProviderSettings.cs
- RelationHandler.cs
- BinaryMethodMessage.cs
- SizeF.cs
- EndOfStreamException.cs
- OpenTypeLayout.cs
- WindowsListViewSubItem.cs
- Utils.cs
- Composition.cs
- DataTrigger.cs
- ImageButton.cs
- StringUtil.cs
- TextTreeText.cs
- ListParagraph.cs
- Soap.cs
- BitmapMetadata.cs
- Underline.cs
- BamlTreeUpdater.cs
- TreeViewAutomationPeer.cs
- TabControl.cs
- SmiMetaData.cs
- InvalidFilterCriteriaException.cs
- OrthographicCamera.cs
- Visitors.cs
- SystemKeyConverter.cs
- OdbcConnectionPoolProviderInfo.cs
- SemanticKeyElement.cs
- CodeFieldReferenceExpression.cs
- BidOverLoads.cs
- Operators.cs
- EditorPartChrome.cs
- AnnotationMap.cs
- Cloud.cs
- DbConnectionPool.cs
- ContractMapping.cs
- LateBoundBitmapDecoder.cs
- TypeReference.cs
- DeclarativeCatalogPartDesigner.cs
- ThreadStateException.cs
- SplitterPanel.cs
- CodeTypeParameterCollection.cs
- RowBinding.cs
- DbCommandDefinition.cs
- HttpModuleAction.cs
- AsyncCallback.cs
- Item.cs
- SchemaNames.cs
- PeerConnector.cs
- Expression.DebuggerProxy.cs