Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / QIL / SubstitutionList.cs / 1305376 / SubstitutionList.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Collections; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// Data structure for use in CloneAndReplace /// ///Isolates the many QilNode classes from changes in /// the underlying data structure. internal sealed class SubstitutionList { // private ArrayList s; public SubstitutionList() { this.s = new ArrayList(4); } ////// Add a substituion pair /// /// a node to be replaced /// its replacement public void AddSubstitutionPair(QilNode find, QilNode replace) { s.Add(find); s.Add(replace); } ////// Remove the last a substituion pair /// public void RemoveLastSubstitutionPair() { s.RemoveRange(s.Count - 2, 2); } ////// Remove the last N substitution pairs /// public void RemoveLastNSubstitutionPairs(int n) { Debug.Assert(n >= 0, "n must be nonnegative"); if (n > 0) { n *= 2; s.RemoveRange(s.Count - n, n); } } ////// Find the replacement for a node /// /// the node to replace ///null if no replacement is found public QilNode FindReplacement(QilNode n) { Debug.Assert(s.Count % 2 == 0); for (int i = s.Count-2; i >= 0; i-=2) if (s[i] == n) return (QilNode)s[i+1]; return null; } } } // 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
- RoutedEventValueSerializer.cs
- ListViewGroup.cs
- BitmapCodecInfoInternal.cs
- PackagePartCollection.cs
- DescriptionCreator.cs
- Thread.cs
- ColumnHeaderCollectionEditor.cs
- TrustManagerMoreInformation.cs
- ZoneLinkButton.cs
- DataGridViewCheckBoxCell.cs
- OleDbError.cs
- Documentation.cs
- ConfigXmlWhitespace.cs
- ListenDesigner.cs
- StrokeCollectionDefaultValueFactory.cs
- MessageEnumerator.cs
- MenuBindingsEditor.cs
- TraceListeners.cs
- XmlQuerySequence.cs
- ContentHostHelper.cs
- BamlLocalizableResourceKey.cs
- Evidence.cs
- XmlComment.cs
- JobDuplex.cs
- MessageEnumerator.cs
- HttpCookieCollection.cs
- Schedule.cs
- RoutedEventConverter.cs
- HttpFileCollection.cs
- BitmapEffectrendercontext.cs
- ColorPalette.cs
- AliasGenerator.cs
- CharacterBuffer.cs
- BaseCAMarshaler.cs
- AuthenticatedStream.cs
- StylusDownEventArgs.cs
- SspiSafeHandles.cs
- XmlCDATASection.cs
- WindowProviderWrapper.cs
- XmlSiteMapProvider.cs
- ObjectQuery_EntitySqlExtensions.cs
- BamlTreeUpdater.cs
- NavigatorInput.cs
- DataControlCommands.cs
- BaseParser.cs
- IDReferencePropertyAttribute.cs
- LiteralSubsegment.cs
- MappingModelBuildProvider.cs
- RequestCachingSection.cs
- odbcmetadatafactory.cs
- DiscoveryRequestHandler.cs
- FontWeight.cs
- TransformProviderWrapper.cs
- ScriptControlManager.cs
- AdornerLayer.cs
- RotationValidation.cs
- DPCustomTypeDescriptor.cs
- XmlAttributeAttribute.cs
- SQLGuidStorage.cs
- JulianCalendar.cs
- DataListCommandEventArgs.cs
- UrlMapping.cs
- SafeCancelMibChangeNotify.cs
- StylusButtonCollection.cs
- GPPOINTF.cs
- InputGestureCollection.cs
- ParameterRefs.cs
- FreeFormDesigner.cs
- GrammarBuilderWildcard.cs
- InputMethod.cs
- ConfigurationPropertyAttribute.cs
- DateTimeFormatInfo.cs
- XPathDocumentNavigator.cs
- EditorPart.cs
- ITreeGenerator.cs
- FilterElement.cs
- StoreItemCollection.Loader.cs
- LeaseManager.cs
- IncrementalCompileAnalyzer.cs
- DataIdProcessor.cs
- Scene3D.cs
- TextEncodedRawTextWriter.cs
- _FtpControlStream.cs
- SqlUserDefinedAggregateAttribute.cs
- DoubleCollectionConverter.cs
- ToolTipAutomationPeer.cs
- StylusButtonCollection.cs
- DetailsViewInsertedEventArgs.cs
- TextRunCacheImp.cs
- HttpRuntimeSection.cs
- KeyFrames.cs
- BinaryUtilClasses.cs
- HistoryEventArgs.cs
- DbMetaDataFactory.cs
- QueryableDataSourceEditData.cs
- GeneralTransform3D.cs
- DataGridTablesFactory.cs
- TimeSpanMinutesConverter.cs
- Bidi.cs
- BufferedGraphicsManager.cs