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
- AccessDataSource.cs
- PathGeometry.cs
- ListViewItem.cs
- Property.cs
- DispatcherObject.cs
- TraceUtils.cs
- Environment.cs
- ConnectionConsumerAttribute.cs
- TcpAppDomainProtocolHandler.cs
- EdmProviderManifest.cs
- RegexReplacement.cs
- LinqDataSourceEditData.cs
- PageClientProxyGenerator.cs
- CodeObjectCreateExpression.cs
- MembershipPasswordException.cs
- SoapMessage.cs
- FileLoadException.cs
- HealthMonitoringSection.cs
- TreeNodeEventArgs.cs
- CodeNamespaceImport.cs
- FormViewRow.cs
- _SslState.cs
- DummyDataSource.cs
- LineVisual.cs
- CodeMemberEvent.cs
- XmlEnumAttribute.cs
- AnnotationResourceCollection.cs
- CatalogPartChrome.cs
- ErrorEventArgs.cs
- SafeHandles.cs
- LocalClientSecuritySettingsElement.cs
- Int32Rect.cs
- NonVisualControlAttribute.cs
- Animatable.cs
- ConnectivityStatus.cs
- Transform3DGroup.cs
- SqlStatistics.cs
- FacetChecker.cs
- basevalidator.cs
- HtmlInputReset.cs
- Msec.cs
- EntityCommand.cs
- ExpressionEditorAttribute.cs
- TimeoutException.cs
- PageTextBox.cs
- Stylesheet.cs
- HttpDictionary.cs
- DesignColumn.cs
- OrderPreservingPipeliningMergeHelper.cs
- TableAdapterManagerMethodGenerator.cs
- BinaryObjectWriter.cs
- TTSEngineProxy.cs
- ToolStripSplitButton.cs
- PropertyValueChangedEvent.cs
- HtmlElementEventArgs.cs
- SamlSerializer.cs
- UIElement.cs
- Parser.cs
- WinFormsSpinner.cs
- Size.cs
- GatewayDefinition.cs
- AttributeData.cs
- CriticalFinalizerObject.cs
- UIElementCollection.cs
- FormsAuthenticationTicket.cs
- PrintEvent.cs
- DefaultPrintController.cs
- DataGridViewRowCollection.cs
- ScrollPatternIdentifiers.cs
- ConfigXmlAttribute.cs
- DataTableNewRowEvent.cs
- ClientScriptManager.cs
- HtmlElementErrorEventArgs.cs
- ObjectCache.cs
- CodeStatementCollection.cs
- Figure.cs
- AsyncOperationManager.cs
- DictionaryMarkupSerializer.cs
- UnsafeNativeMethodsPenimc.cs
- ApplicationInterop.cs
- Accessors.cs
- StringCollection.cs
- ReflectTypeDescriptionProvider.cs
- BuildProviderAppliesToAttribute.cs
- XpsDigitalSignature.cs
- Pointer.cs
- SynchronizedRandom.cs
- CachedBitmap.cs
- ItemsPanelTemplate.cs
- Evaluator.cs
- XsdDateTime.cs
- TypeSystem.cs
- ClosableStream.cs
- ObjRef.cs
- GlobalItem.cs
- TimeManager.cs
- ObjectManager.cs
- ItemsPresenter.cs
- HttpRuntimeSection.cs
- ItemChangedEventArgs.cs