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
- WebBrowser.cs
- DelegatingTypeDescriptionProvider.cs
- Cursors.cs
- ObjectTypeMapping.cs
- SqlDataSourceConfigureFilterForm.cs
- Random.cs
- ProcessModuleCollection.cs
- PermissionSet.cs
- ReferenceConverter.cs
- QilGeneratorEnv.cs
- CommandID.cs
- ButtonFlatAdapter.cs
- HttpFileCollection.cs
- RTLAwareMessageBox.cs
- ListViewItemEventArgs.cs
- WizardPanel.cs
- RegexMatchCollection.cs
- ForceCopyBuildProvider.cs
- HuffModule.cs
- ExtensionQuery.cs
- IntPtr.cs
- ASCIIEncoding.cs
- ReachBasicContext.cs
- HtmlLinkAdapter.cs
- InputScopeAttribute.cs
- dbdatarecord.cs
- itemelement.cs
- RubberbandSelector.cs
- SqlBulkCopy.cs
- WinFormsComponentEditor.cs
- State.cs
- SmtpException.cs
- BitmapMetadataBlob.cs
- TakeQueryOptionExpression.cs
- ConstraintStruct.cs
- IApplicationTrustManager.cs
- XmlText.cs
- DefaultBindingPropertyAttribute.cs
- ParserOptions.cs
- DateTimeConverter2.cs
- ArrayConverter.cs
- URLMembershipCondition.cs
- XComponentModel.cs
- ExtenderControl.cs
- ValidationPropertyAttribute.cs
- TimerElapsedEvenArgs.cs
- BindingBase.cs
- Maps.cs
- Stackframe.cs
- FontWeights.cs
- SystemGatewayIPAddressInformation.cs
- PropertyEntry.cs
- HtmlMobileTextWriter.cs
- SystemResourceKey.cs
- CompilerWrapper.cs
- _ListenerResponseStream.cs
- DataControlFieldCell.cs
- Context.cs
- KeyboardDevice.cs
- SafeRightsManagementSessionHandle.cs
- ControlUtil.cs
- HiddenFieldDesigner.cs
- ForEachAction.cs
- CellIdBoolean.cs
- DbXmlEnabledProviderManifest.cs
- PrivilegedConfigurationManager.cs
- FormViewInsertedEventArgs.cs
- XmlSchemaNotation.cs
- LOSFormatter.cs
- BrushProxy.cs
- DesignerGenericWebPart.cs
- TargetControlTypeCache.cs
- TemplateAction.cs
- DesignerTransaction.cs
- HttpResponse.cs
- TemplatePropertyEntry.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- SystemMulticastIPAddressInformation.cs
- TextBoxLine.cs
- AssociatedControlConverter.cs
- CachedTypeface.cs
- HtmlInputButton.cs
- UriExt.cs
- QilGenerator.cs
- GridViewCancelEditEventArgs.cs
- PathNode.cs
- WebPartCatalogAddVerb.cs
- CodeIdentifiers.cs
- DriveInfo.cs
- DataRecordInfo.cs
- Pkcs7Recipient.cs
- SqlCacheDependencyDatabaseCollection.cs
- Block.cs
- MethodSignatureGenerator.cs
- Region.cs
- Expressions.cs
- EdmItemError.cs
- XmlSchemaType.cs
- UriScheme.cs
- ListControlActionList.cs