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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ICspAsymmetricAlgorithm.cs
- CLSCompliantAttribute.cs
- CommandConverter.cs
- XmlNodeChangedEventArgs.cs
- SerializationSectionGroup.cs
- DBSchemaRow.cs
- RootProfilePropertySettingsCollection.cs
- NCryptSafeHandles.cs
- TextCollapsingProperties.cs
- Atom10FeedFormatter.cs
- MessageDesigner.cs
- DefaultPrintController.cs
- CodeTypeConstructor.cs
- ArraySet.cs
- RootBuilder.cs
- ExtendedPropertyDescriptor.cs
- DelegateSerializationHolder.cs
- DecoderExceptionFallback.cs
- Speller.cs
- PassportAuthentication.cs
- Component.cs
- TextEffect.cs
- MultiBindingExpression.cs
- MenuItem.cs
- SoapElementAttribute.cs
- CancellationHandlerDesigner.cs
- SpellCheck.cs
- ByteStreamMessageUtility.cs
- PeerReferralPolicy.cs
- UiaCoreProviderApi.cs
- ResXDataNode.cs
- CapiHashAlgorithm.cs
- EventArgs.cs
- PasswordRecovery.cs
- WebConfigurationHost.cs
- SortQuery.cs
- Stacktrace.cs
- XmlIlGenerator.cs
- MessageQueueEnumerator.cs
- EnvelopedSignatureTransform.cs
- ControlPropertyNameConverter.cs
- HttpAsyncResult.cs
- TypeElementCollection.cs
- CompositeControl.cs
- SequenceRangeCollection.cs
- DateTimeFormat.cs
- BinaryKeyIdentifierClause.cs
- TextEditorSelection.cs
- ShaperBuffers.cs
- PrincipalPermission.cs
- WebPartDescriptionCollection.cs
- ObjectStateFormatter.cs
- CqlParser.cs
- DescendantOverDescendantQuery.cs
- SafeRegistryHandle.cs
- ResourceExpressionBuilder.cs
- SchemaTypeEmitter.cs
- GB18030Encoding.cs
- ResourcesBuildProvider.cs
- DataKeyCollection.cs
- ComponentTray.cs
- DataRowChangeEvent.cs
- AppDomainManager.cs
- ServiceMemoryGates.cs
- EnumMember.cs
- AbstractSvcMapFileLoader.cs
- StorageRoot.cs
- ErrorProvider.cs
- XDeferredAxisSource.cs
- BinaryMessageEncoder.cs
- CodeGotoStatement.cs
- PageSettings.cs
- Bitmap.cs
- validation.cs
- DispatcherFrame.cs
- TreeNodeBinding.cs
- TextServicesDisplayAttribute.cs
- TriggerBase.cs
- DesignerActionKeyboardBehavior.cs
- _TransmitFileOverlappedAsyncResult.cs
- LogStore.cs
- BindingsCollection.cs
- TraceContextEventArgs.cs
- NullableLongAverageAggregationOperator.cs
- DateTimeOffset.cs
- DataGridAddNewRow.cs
- SimpleHandlerFactory.cs
- TypeResolver.cs
- SmiEventSink.cs
- SrgsRuleRef.cs
- documentation.cs
- FileDataSourceCache.cs
- SpellerStatusTable.cs
- BindingNavigator.cs
- IfElseDesigner.xaml.cs
- StyleSelector.cs
- DbDeleteCommandTree.cs
- RolePrincipal.cs
- _HTTPDateParse.cs
- XpsSerializationManager.cs