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
- BitmapScalingModeValidation.cs
- LocalIdKeyIdentifierClause.cs
- ContentElement.cs
- AssemblyUtil.cs
- StreamedFramingRequestChannel.cs
- PocoEntityKeyStrategy.cs
- BuildProvider.cs
- StyleTypedPropertyAttribute.cs
- StreamInfo.cs
- SQLDecimal.cs
- ImageListUtils.cs
- PathTooLongException.cs
- CodeAccessSecurityEngine.cs
- UInt32Converter.cs
- RoutedCommand.cs
- UnsafeMethods.cs
- PageBuildProvider.cs
- DataGridAutoFormat.cs
- CultureData.cs
- ConfigXmlDocument.cs
- AuthorizationSection.cs
- ControlIdConverter.cs
- ModuleElement.cs
- CallSiteHelpers.cs
- HttpException.cs
- MemoryFailPoint.cs
- ConnectivityStatus.cs
- ScrollChrome.cs
- SettingsProperty.cs
- TextEditorParagraphs.cs
- ContourSegment.cs
- ContentTextAutomationPeer.cs
- BrowserCapabilitiesCodeGenerator.cs
- EventEntry.cs
- IntSecurity.cs
- Preprocessor.cs
- ListItemCollection.cs
- SchemaManager.cs
- GreenMethods.cs
- _RequestLifetimeSetter.cs
- WebBrowserUriTypeConverter.cs
- ArrayElementGridEntry.cs
- documentsequencetextpointer.cs
- SplineKeyFrames.cs
- MetadataConversionError.cs
- DataSourceView.cs
- UInt64.cs
- HebrewNumber.cs
- TextTreeFixupNode.cs
- ContentPosition.cs
- RuleSettings.cs
- SHA384Managed.cs
- SimpleHandlerFactory.cs
- DayRenderEvent.cs
- Aggregates.cs
- CompilationRelaxations.cs
- DataGridViewHeaderCell.cs
- SqlDataSourceSelectingEventArgs.cs
- XmlIgnoreAttribute.cs
- MultipartIdentifier.cs
- ObjectStateEntryDbDataRecord.cs
- HebrewCalendar.cs
- Timer.cs
- DbException.cs
- XmlWriterSettings.cs
- AmbiguousMatchException.cs
- RequestCacheManager.cs
- XPathItem.cs
- BindingMemberInfo.cs
- ConnectionPointConverter.cs
- EventLogPermission.cs
- DirectoryLocalQuery.cs
- CodeEventReferenceExpression.cs
- FirstMatchCodeGroup.cs
- DataGridItem.cs
- ToolStripLocationCancelEventArgs.cs
- VoiceSynthesis.cs
- DbSourceCommand.cs
- DriveNotFoundException.cs
- Transform.cs
- DataGridItemEventArgs.cs
- LongMinMaxAggregationOperator.cs
- ScrollViewer.cs
- InstancePersistenceCommand.cs
- InfoCardAsymmetricCrypto.cs
- OleDbParameter.cs
- HtmlGenericControl.cs
- SystemInformation.cs
- Schema.cs
- TablePattern.cs
- Predicate.cs
- DataServiceClientException.cs
- XmlSerializerFactory.cs
- ToolStripButton.cs
- DrawingCollection.cs
- ToggleButton.cs
- Point.cs
- DesignTimeDataBinding.cs
- RijndaelManaged.cs
- DataViewSettingCollection.cs