Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } }[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeTypeConverter.cs
- TreeNodeCollection.cs
- PaperSource.cs
- SerializerWriterEventHandlers.cs
- IntSecurity.cs
- ListViewCommandEventArgs.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- DefaultValueConverter.cs
- LabelAutomationPeer.cs
- XMLSchema.cs
- XmlSerializerSection.cs
- Rectangle.cs
- Descriptor.cs
- CodeDomDecompiler.cs
- ECDsaCng.cs
- EndSelectCardRequest.cs
- SqlException.cs
- MultipleCopiesCollection.cs
- PathTooLongException.cs
- IndexOutOfRangeException.cs
- PackWebRequest.cs
- PreparingEnlistment.cs
- TraceSource.cs
- SamlAuthorityBinding.cs
- DynamicScriptObject.cs
- PriorityQueue.cs
- PropertyValueChangedEvent.cs
- MemberAccessException.cs
- PolyLineSegmentFigureLogic.cs
- OdbcTransaction.cs
- WebPartCancelEventArgs.cs
- Event.cs
- Inline.cs
- TimeIntervalCollection.cs
- DataSource.cs
- AccessDataSourceView.cs
- CodeEventReferenceExpression.cs
- Point3DCollectionValueSerializer.cs
- BinHexDecoder.cs
- XamlDesignerSerializationManager.cs
- Schema.cs
- AliasExpr.cs
- PropertyMetadata.cs
- RepeatButtonAutomationPeer.cs
- InputScope.cs
- DataListCommandEventArgs.cs
- HWStack.cs
- WebBrowsableAttribute.cs
- DodSequenceMerge.cs
- ButtonAutomationPeer.cs
- DataGridAddNewRow.cs
- IOException.cs
- ObjectQueryProvider.cs
- ToolStripItemBehavior.cs
- SerializationTrace.cs
- InvalidDataContractException.cs
- IEnumerable.cs
- ItemCheckEvent.cs
- XmlElementCollection.cs
- RenderDataDrawingContext.cs
- ArgumentValidation.cs
- DispatcherHooks.cs
- StoryFragments.cs
- EllipticalNodeOperations.cs
- SQLSingle.cs
- WebConfigurationFileMap.cs
- CancellationScope.cs
- HwndTarget.cs
- SafeArchiveContext.cs
- SoapFormatterSinks.cs
- SerializationSectionGroup.cs
- CodeDomSerializerException.cs
- PropagatorResult.cs
- KeyConverter.cs
- NumberFormatter.cs
- XPathParser.cs
- GroupBoxRenderer.cs
- SqlClientMetaDataCollectionNames.cs
- ContentTextAutomationPeer.cs
- ClientScriptManager.cs
- InternalTypeHelper.cs
- Classification.cs
- OdbcConnectionPoolProviderInfo.cs
- MobileUITypeEditor.cs
- HttpPostProtocolImporter.cs
- DoubleSumAggregationOperator.cs
- ParentQuery.cs
- AmbientValueAttribute.cs
- WinFormsUtils.cs
- DataSourceXmlAttributeAttribute.cs
- DataAccessor.cs
- Section.cs
- FontCollection.cs
- DBParameter.cs
- HiddenField.cs
- DatatypeImplementation.cs
- CacheRequest.cs
- WebPartCloseVerb.cs
- DataViewManagerListItemTypeDescriptor.cs
- DPTypeDescriptorContext.cs