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
- Size.cs
- AdRotator.cs
- GradientStop.cs
- SafeFileMappingHandle.cs
- TreeViewAutomationPeer.cs
- PropertyInformationCollection.cs
- FindSimilarActivitiesVerb.cs
- VirtualizingStackPanel.cs
- TypedCompletedAsyncResult.cs
- XmlDocumentSurrogate.cs
- DataGridColumnCollectionEditor.cs
- BmpBitmapEncoder.cs
- ISCIIEncoding.cs
- TargetControlTypeAttribute.cs
- Visual.cs
- MenuScrollingVisibilityConverter.cs
- MachineKeyConverter.cs
- XsdBuilder.cs
- BCLDebug.cs
- UserControl.cs
- FragmentNavigationEventArgs.cs
- AppModelKnownContentFactory.cs
- UnsafeNativeMethods.cs
- ApplicationManager.cs
- ListControl.cs
- DiscoveryMessageSequenceGenerator.cs
- TypeUtils.cs
- ProviderConnectionPointCollection.cs
- WorkflowApplicationCompletedEventArgs.cs
- OpCellTreeNode.cs
- DataGridClipboardHelper.cs
- MemberCollection.cs
- LoginUtil.cs
- SessionStateContainer.cs
- UInt32.cs
- CmsUtils.cs
- hresults.cs
- FocusTracker.cs
- InternalBufferOverflowException.cs
- CreationContext.cs
- CellParagraph.cs
- MexServiceChannelBuilder.cs
- _TLSstream.cs
- DelegatedStream.cs
- Mutex.cs
- BooleanToVisibilityConverter.cs
- XmlAttributeProperties.cs
- RandomNumberGenerator.cs
- XamlTemplateSerializer.cs
- MultiView.cs
- ServiceControllerDesigner.cs
- HostingEnvironmentSection.cs
- CodeObject.cs
- SuppressIldasmAttribute.cs
- MatrixValueSerializer.cs
- SqlSupersetValidator.cs
- SystemInfo.cs
- XsdValidatingReader.cs
- Utils.cs
- BasePattern.cs
- MenuItemStyle.cs
- HierarchicalDataSourceControl.cs
- ProjectionPruner.cs
- Dictionary.cs
- ItemList.cs
- CodeGen.cs
- BCryptNative.cs
- ProxyGenerationError.cs
- figurelength.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- GridViewAutomationPeer.cs
- DataGridColumn.cs
- SkewTransform.cs
- MailSettingsSection.cs
- OutputCacheProfile.cs
- TextEmbeddedObject.cs
- DoWorkEventArgs.cs
- Expression.cs
- SettingsProperty.cs
- BitArray.cs
- DllHostInitializer.cs
- Mutex.cs
- ListItem.cs
- ByeMessageCD1.cs
- TemplateXamlTreeBuilder.cs
- JulianCalendar.cs
- CmsInterop.cs
- SqlCrossApplyToCrossJoin.cs
- ConfigurationErrorsException.cs
- SQLGuid.cs
- RenameRuleObjectDialog.cs
- EntityEntry.cs
- MediaElementAutomationPeer.cs
- ColumnReorderedEventArgs.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- LoadRetryStrategyFactory.cs
- PageBuildProvider.cs
- DataListItem.cs
- EndpointReference.cs
- SafeTimerHandle.cs