Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / RootBuilder.cs / 1305376 / RootBuilder.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Implements the root builder * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web.UI { using System.Runtime.InteropServices; using System; using System.Collections; using System.IO; using System.Reflection; using System.Web; using System.Web.Util; ////// /// public class RootBuilder : TemplateBuilder { private MainTagNameToTypeMapper _typeMapper; // Contains a mapping of all objects to their associated builders private IDictionary _builtObjects; public RootBuilder() { } ///[To be supplied.] ////// public RootBuilder(TemplateParser parser) { } public IDictionary BuiltObjects { get { // Store any objects created by this control builder // so we can properly persist items if (_builtObjects == null) { _builtObjects = new Hashtable(ReferenceKeyComparer.Default); } return _builtObjects; } } ///[To be supplied.] ////// The method gets called when the CodeDom tree is fully built. The way it is used is by first overriding /// ProcessGeneratedCode to keep track of the CodeCompileUnit, and to then have the ability to modify /// the CodeCompileUnit in this method /// protected internal virtual void OnCodeGenerationComplete() { } internal void SetTypeMapper(MainTagNameToTypeMapper typeMapper) { _typeMapper = typeMapper; } ////// public override Type GetChildControlType(string tagName, IDictionary attribs) { // Is there a type to handle this control Type type = _typeMapper.GetControlType(tagName, attribs, true /*fAllowHtmlTags*/); return type; } internal override void PrepareNoCompilePageSupport() { base.PrepareNoCompilePageSupport(); // This is needed to break any connection with the TemplateParser, allowing it // to be fully collected when the parsing is complete _typeMapper = null; } private class ReferenceKeyComparer : IComparer, IEqualityComparer { internal static readonly ReferenceKeyComparer Default = new ReferenceKeyComparer(); bool IEqualityComparer.Equals(object x, object y) { return Object.ReferenceEquals(x, y); } int IEqualityComparer.GetHashCode(object obj) { return obj.GetHashCode(); } int IComparer.Compare(object x, object y) { if (Object.ReferenceEquals(x, y)) { return 0; } if (x == null) { return -1; } if (y == null) { return 1; } return 1; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Control.cs
- ParseNumbers.cs
- TabPageDesigner.cs
- ResourceSetExpression.cs
- CompositeKey.cs
- CryptoHelper.cs
- ActivityStateQuery.cs
- ElementHostAutomationPeer.cs
- Int32Collection.cs
- ADMembershipProvider.cs
- QueuePropertyVariants.cs
- WindowsFormsEditorServiceHelper.cs
- HtmlContainerControl.cs
- CompilationSection.cs
- BuildResult.cs
- Utility.cs
- ProtocolViolationException.cs
- TextContainerHelper.cs
- initElementDictionary.cs
- lengthconverter.cs
- WindowInteropHelper.cs
- XmlSchemaNotation.cs
- BodyGlyph.cs
- XPathDocument.cs
- WebResourceAttribute.cs
- SecurityTokenReferenceStyle.cs
- ADRoleFactoryConfiguration.cs
- XsltException.cs
- MetafileHeaderWmf.cs
- Mappings.cs
- _ShellExpression.cs
- ObjectComplexPropertyMapping.cs
- ViewSimplifier.cs
- WebServiceTypeData.cs
- ToolStripGrip.cs
- TextSpan.cs
- DataSourceListEditor.cs
- PathStreamGeometryContext.cs
- DiagnosticsConfiguration.cs
- HasCopySemanticsAttribute.cs
- IntranetCredentialPolicy.cs
- StrokeCollection.cs
- ThreadStartException.cs
- SqlProviderManifest.cs
- AutomationProperties.cs
- NumberAction.cs
- TextEffect.cs
- MethodResolver.cs
- ToolboxBitmapAttribute.cs
- LOSFormatter.cs
- FormatConvertedBitmap.cs
- PrivateFontCollection.cs
- wmiutil.cs
- ExpressionWriter.cs
- LogReservationCollection.cs
- ClientApiGenerator.cs
- RestHandler.cs
- Compiler.cs
- HttpCapabilitiesSectionHandler.cs
- UnmanagedBitmapWrapper.cs
- OrderedDictionaryStateHelper.cs
- DesignTimeVisibleAttribute.cs
- ProtocolsSection.cs
- CodeNamespaceCollection.cs
- Stroke2.cs
- HelpPage.cs
- GeneralTransform3D.cs
- MemoryMappedViewStream.cs
- NativeMethods.cs
- SqlHelper.cs
- BuildProvider.cs
- TimeSpan.cs
- XmlAttributeOverrides.cs
- XmlSchemaIdentityConstraint.cs
- ComponentResourceManager.cs
- ObjectSpanRewriter.cs
- BoundPropertyEntry.cs
- PointCollectionConverter.cs
- DataServiceHost.cs
- KeyManager.cs
- XamlFigureLengthSerializer.cs
- StandardBindingElement.cs
- QueryAsyncResult.cs
- CacheSection.cs
- XsdDataContractExporter.cs
- TableParagraph.cs
- DataSourceDesigner.cs
- Control.cs
- SynchronizedDispatch.cs
- TypeBuilderInstantiation.cs
- BuildProviderCollection.cs
- AssemblyInfo.cs
- DataTemplateSelector.cs
- NamespaceEmitter.cs
- ToolboxComponentsCreatedEventArgs.cs
- RegexCaptureCollection.cs
- TextDecorationCollectionConverter.cs
- _DomainName.cs
- Axis.cs
- DbDataAdapter.cs