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
- EpmCustomContentWriterNodeData.cs
- CompilationLock.cs
- LingerOption.cs
- PropertyInfoSet.cs
- XmlNodeList.cs
- WebPartConnectionsConnectVerb.cs
- DecoderFallback.cs
- MailMessage.cs
- PropertyConverter.cs
- ManipulationDelta.cs
- PLINQETWProvider.cs
- BridgeDataReader.cs
- SemanticBasicElement.cs
- SamlConditions.cs
- ColorConvertedBitmap.cs
- SqlLiftIndependentRowExpressions.cs
- ClusterRegistryConfigurationProvider.cs
- HttpRawResponse.cs
- FormViewInsertEventArgs.cs
- ServiceContractViewControl.Designer.cs
- ResourceProviderFactory.cs
- TemplateAction.cs
- TextDpi.cs
- DefaultAssemblyResolver.cs
- CannotUnloadAppDomainException.cs
- OleDbFactory.cs
- MetadataConversionError.cs
- DataGridViewImageColumn.cs
- RoleManagerModule.cs
- MenuBase.cs
- BStrWrapper.cs
- QuaternionAnimationBase.cs
- RunInstallerAttribute.cs
- cookie.cs
- Point3DValueSerializer.cs
- JournalNavigationScope.cs
- ReadOnlyCollection.cs
- NavigateEvent.cs
- ActivationServices.cs
- PropertyBuilder.cs
- RuntimeDelegateArgument.cs
- NativeMethods.cs
- WindowsRichEdit.cs
- WindowsRegion.cs
- EmptyEnumerable.cs
- DataGridTablesFactory.cs
- XmlChildEnumerator.cs
- EditingMode.cs
- BitmapEffectDrawingContextState.cs
- Listbox.cs
- RestHandlerFactory.cs
- SimpleModelProvider.cs
- ComPlusServiceLoader.cs
- handlecollector.cs
- ConfigurationManagerInternal.cs
- GroupItem.cs
- nulltextcontainer.cs
- GridViewCellAutomationPeer.cs
- XPathParser.cs
- DocobjHost.cs
- XmlText.cs
- ContentOperations.cs
- PersistencePipeline.cs
- XmlCustomFormatter.cs
- ConstructorExpr.cs
- TableRow.cs
- WaveHeader.cs
- QueryResults.cs
- WebPartConnectionsConnectVerb.cs
- StringSource.cs
- RequestQueryParser.cs
- NavigateEvent.cs
- XmlLanguage.cs
- XPathNavigatorReader.cs
- SiteMapPath.cs
- StopRoutingHandler.cs
- BreakSafeBase.cs
- SecurityRuntime.cs
- DiscoveryCallbackBehavior.cs
- BooleanExpr.cs
- ReadContentAsBinaryHelper.cs
- MouseGesture.cs
- PolicyManager.cs
- ListDesigner.cs
- PointAnimationUsingKeyFrames.cs
- tibetanshape.cs
- WizardForm.cs
- XmlExpressionDumper.cs
- MsmqIntegrationProcessProtocolHandler.cs
- OneOfConst.cs
- XmlSchemaSubstitutionGroup.cs
- FactorySettingsElement.cs
- WebConvert.cs
- Polygon.cs
- UniqueConstraint.cs
- WebContext.cs
- EdmMember.cs
- HashHelpers.cs
- NativeMethods.cs
- EventLogEntry.cs