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
- BitmapCodecInfoInternal.cs
- SqlGenericUtil.cs
- CompressStream.cs
- OutOfProcStateClientManager.cs
- CodeMemberProperty.cs
- MessageQueueInstaller.cs
- UInt16Converter.cs
- StdValidatorsAndConverters.cs
- FileSystemWatcher.cs
- SqlDataSourceView.cs
- WaveHeader.cs
- DecimalConstantAttribute.cs
- EntityDataSourceValidationException.cs
- OrderedDictionary.cs
- TypeInfo.cs
- XPathNavigator.cs
- DecimalFormatter.cs
- FlagsAttribute.cs
- XmlSchema.cs
- HandlerFactoryWrapper.cs
- GroupDescription.cs
- TrustManagerMoreInformation.cs
- XmlNamespaceManager.cs
- CultureMapper.cs
- DefinitionBase.cs
- DataGridTablesFactory.cs
- EventsTab.cs
- GridViewRowPresenterBase.cs
- PointAnimationClockResource.cs
- XpsFilter.cs
- ResourceReferenceExpressionConverter.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- ComponentChangedEvent.cs
- TimeSpan.cs
- DataGridViewCellStateChangedEventArgs.cs
- SystemTcpConnection.cs
- EnterpriseServicesHelper.cs
- EventBuilder.cs
- Psha1DerivedKeyGenerator.cs
- CssStyleCollection.cs
- BuildProvider.cs
- HtmlSelect.cs
- JsonFormatWriterGenerator.cs
- FixedNode.cs
- SortedDictionary.cs
- SizeAnimationBase.cs
- ObjectSecurity.cs
- SiteMapNode.cs
- Quaternion.cs
- SafeHandle.cs
- NoneExcludedImageIndexConverter.cs
- ListSortDescriptionCollection.cs
- AutomationElement.cs
- SqlDataSourceView.cs
- XPathException.cs
- SafeFileHandle.cs
- CodeIdentifiers.cs
- AccessedThroughPropertyAttribute.cs
- FtpWebRequest.cs
- TextServicesCompartment.cs
- WsdlBuildProvider.cs
- ParenExpr.cs
- Utils.cs
- EncoderReplacementFallback.cs
- EventSetterHandlerConverter.cs
- ThreadPool.cs
- LocalizationComments.cs
- X509UI.cs
- TransformValueSerializer.cs
- DbConnectionPool.cs
- GroupLabel.cs
- HostedNamedPipeTransportManager.cs
- NavigationWindow.cs
- BufferedStream.cs
- DataGridTextBox.cs
- PartialArray.cs
- WebPartExportVerb.cs
- DataGridViewComboBoxCell.cs
- MarginsConverter.cs
- NativeRecognizer.cs
- HTMLTagNameToTypeMapper.cs
- DataGridPageChangedEventArgs.cs
- EventHandlerList.cs
- PolyLineSegment.cs
- SymbolTable.cs
- Parameter.cs
- RTLAwareMessageBox.cs
- DefaultSection.cs
- SQLBytes.cs
- VisualBasicSettingsHandler.cs
- Button.cs
- AtomPub10CategoriesDocumentFormatter.cs
- TypeValidationEventArgs.cs
- UmAlQuraCalendar.cs
- SqlDataSourceParameterParser.cs
- CodeTypeOfExpression.cs
- PropertyTabChangedEvent.cs
- DataServiceRequestArgs.cs
- ColorConverter.cs
- InfoCardAsymmetricCrypto.cs