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
- jithelpers.cs
- SendActivityDesignerTheme.cs
- JulianCalendar.cs
- StatusBarPanel.cs
- wgx_sdk_version.cs
- TraceInternal.cs
- IndexedWhereQueryOperator.cs
- WebPartEventArgs.cs
- WebSysDefaultValueAttribute.cs
- TypeConverterAttribute.cs
- IndexerNameAttribute.cs
- CultureInfoConverter.cs
- QilXmlReader.cs
- SetterBaseCollection.cs
- PropertyChangingEventArgs.cs
- QilStrConcat.cs
- SrgsGrammarCompiler.cs
- TimeSpan.cs
- ListControlBoundActionList.cs
- ProviderIncompatibleException.cs
- XsltSettings.cs
- ErrorFormatterPage.cs
- WithStatement.cs
- DbMetaDataCollectionNames.cs
- AuditLog.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- RegexMatchCollection.cs
- SafeNativeMemoryHandle.cs
- httpapplicationstate.cs
- ComponentResourceKey.cs
- VBIdentifierNameEditor.cs
- SoapAttributeAttribute.cs
- LinkLabel.cs
- AccessDataSourceDesigner.cs
- ConnectionPointCookie.cs
- CodePrimitiveExpression.cs
- CaseStatement.cs
- MsmqIntegrationBindingCollectionElement.cs
- dataobject.cs
- ConfigurationStrings.cs
- LazyInitializer.cs
- embossbitmapeffect.cs
- SHA1.cs
- TokenBasedSetEnumerator.cs
- FieldToken.cs
- AsyncOperationManager.cs
- SolidBrush.cs
- WorkerProcess.cs
- OdbcConnectionPoolProviderInfo.cs
- HttpException.cs
- FontDialog.cs
- ObjectQueryProvider.cs
- WebPartManager.cs
- RenderDataDrawingContext.cs
- MetabaseReader.cs
- TranslateTransform.cs
- PropertyCondition.cs
- TypeConverterHelper.cs
- OleStrCAMarshaler.cs
- ToolStripDropDownMenu.cs
- DirectionalLight.cs
- WebPartPersonalization.cs
- relpropertyhelper.cs
- QueryOperator.cs
- EnumUnknown.cs
- BamlRecords.cs
- Preprocessor.cs
- AsymmetricSignatureDeformatter.cs
- SslStreamSecurityBindingElement.cs
- exports.cs
- ResourceDescriptionAttribute.cs
- DocumentApplicationJournalEntry.cs
- ObjectDataSourceView.cs
- Object.cs
- Pkcs9Attribute.cs
- Wizard.cs
- ErrorHandler.cs
- ErrorLog.cs
- ISessionStateStore.cs
- ArgumentOutOfRangeException.cs
- HttpResponseBase.cs
- Delegate.cs
- TextReturnReader.cs
- DrawingVisualDrawingContext.cs
- ClientFormsAuthenticationMembershipProvider.cs
- MemberInfoSerializationHolder.cs
- EventProxy.cs
- AsymmetricSignatureFormatter.cs
- Image.cs
- ScalarRestriction.cs
- ScriptComponentDescriptor.cs
- Effect.cs
- MailHeaderInfo.cs
- FolderBrowserDialog.cs
- SerializerProvider.cs
- RtType.cs
- ConfigXmlDocument.cs
- HandlerWithFactory.cs
- XmlNodeChangedEventArgs.cs
- TextBlock.cs