Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / RootBuilder.cs / 2 / 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; using System.Security.Permissions; ////// /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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; } } internal void SetTypeMapper(MainTagNameToTypeMapper typeMapper) { _typeMapper = typeMapper; } ///[To be supplied.] ////// 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. // Copyright (c) Microsoft Corporation. All rights reserved.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScopedKnownTypes.cs
- PanelStyle.cs
- ScriptingAuthenticationServiceSection.cs
- DomainUpDown.cs
- FirewallWrapper.cs
- MailMessageEventArgs.cs
- ActivationServices.cs
- ExtendedPropertyCollection.cs
- ButtonBase.cs
- RepeatBehavior.cs
- ExpressionBindingCollection.cs
- ErrorFormatterPage.cs
- ParagraphResult.cs
- HintTextConverter.cs
- ApplicationHost.cs
- UpdateCommand.cs
- ExternalFile.cs
- EntityDataSource.cs
- Input.cs
- CollectionChangeEventArgs.cs
- FactoryGenerator.cs
- TextSchema.cs
- HttpHostedTransportConfiguration.cs
- Latin1Encoding.cs
- PreviewPrintController.cs
- TraceProvider.cs
- SqlColumnizer.cs
- XmlMapping.cs
- SendingRequestEventArgs.cs
- WaitHandleCannotBeOpenedException.cs
- Document.cs
- SQLInt16.cs
- ExpressionBuilderCollection.cs
- DatatypeImplementation.cs
- OutOfProcStateClientManager.cs
- SupportingTokenProviderSpecification.cs
- ArrayExtension.cs
- SqlConnectionStringBuilder.cs
- SqlBooleanizer.cs
- TransactionFlowBindingElementImporter.cs
- TextModifierScope.cs
- CustomErrorCollection.cs
- PriorityBindingExpression.cs
- Font.cs
- RelatedImageListAttribute.cs
- InvalidOperationException.cs
- UndoManager.cs
- ThreadPoolTaskScheduler.cs
- wpf-etw.cs
- DrawingImage.cs
- XmlCollation.cs
- QilDataSource.cs
- HtmlInputHidden.cs
- WindowsButton.cs
- ALinqExpressionVisitor.cs
- ModuleConfigurationInfo.cs
- Socket.cs
- DeploymentSectionCache.cs
- CommandDevice.cs
- StaticSiteMapProvider.cs
- XhtmlBasicCalendarAdapter.cs
- ForAllOperator.cs
- LineBreak.cs
- Fonts.cs
- InheritanceAttribute.cs
- SqlGenericUtil.cs
- TextTreeText.cs
- CompilationSection.cs
- UITypeEditor.cs
- OwnerDrawPropertyBag.cs
- messageonlyhwndwrapper.cs
- TextEffect.cs
- ScriptingProfileServiceSection.cs
- StrokeCollectionDefaultValueFactory.cs
- ClassDataContract.cs
- QueryConverter.cs
- ListViewSelectEventArgs.cs
- PlatformCulture.cs
- Soap12ServerProtocol.cs
- XmlSerializerAssemblyAttribute.cs
- _SslState.cs
- DecimalConverter.cs
- SizeAnimationClockResource.cs
- ClonableStack.cs
- UnitControl.cs
- SystemColors.cs
- TextDecorations.cs
- FactoryMaker.cs
- EntityContainer.cs
- DemultiplexingDispatchMessageFormatter.cs
- DictionaryBase.cs
- TransactionContext.cs
- EnumBuilder.cs
- XmlSerializationWriter.cs
- PixelFormats.cs
- ObjectSet.cs
- TrackBarRenderer.cs
- XmlILCommand.cs
- LinkButton.cs
- SamlAuthenticationStatement.cs