Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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.] ///// 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
- RealizedColumnsBlock.cs
- Automation.cs
- ActivityDelegate.cs
- RotateTransform3D.cs
- DataGridSortCommandEventArgs.cs
- OleDbParameterCollection.cs
- WMIGenerator.cs
- EventMap.cs
- ImageMap.cs
- InfoCardRequestException.cs
- BitmapImage.cs
- WebServiceEnumData.cs
- XslVisitor.cs
- HttpModuleActionCollection.cs
- MimeBasePart.cs
- SchemaImporter.cs
- CloudCollection.cs
- ValueChangedEventManager.cs
- SupportingTokenChannel.cs
- Win32Native.cs
- MediaElement.cs
- Point3DValueSerializer.cs
- EntityCommand.cs
- WindowHideOrCloseTracker.cs
- ResourceAssociationType.cs
- ValueProviderWrapper.cs
- FlowLayout.cs
- BinHexEncoder.cs
- XmlFormatWriterGenerator.cs
- KeyEventArgs.cs
- NonBatchDirectoryCompiler.cs
- ListViewEditEventArgs.cs
- AnimationClockResource.cs
- translator.cs
- UrlParameterReader.cs
- AppDomainResourcePerfCounters.cs
- OutputCacheProfileCollection.cs
- BulletedListEventArgs.cs
- ExtensionFile.cs
- WsatTransactionFormatter.cs
- XsltLibrary.cs
- DateTimeConstantAttribute.cs
- GridViewCommandEventArgs.cs
- StackSpiller.Bindings.cs
- XmlSchemaException.cs
- WorkflowViewStateService.cs
- Clock.cs
- FloaterBaseParaClient.cs
- ProtocolElement.cs
- GotoExpression.cs
- ProcessThread.cs
- NetworkAddressChange.cs
- DropDownList.cs
- ErrorWebPart.cs
- WSSecureConversationDec2005.cs
- ServiceInfo.cs
- XmlHierarchicalEnumerable.cs
- PointConverter.cs
- DbDeleteCommandTree.cs
- DataObject.cs
- TextModifierScope.cs
- CellConstant.cs
- SourceChangedEventArgs.cs
- xsdvalidator.cs
- SqlConnectionFactory.cs
- GregorianCalendar.cs
- PageCodeDomTreeGenerator.cs
- XmlnsCompatibleWithAttribute.cs
- ExpressionEditorAttribute.cs
- DesignTable.cs
- AsyncMethodInvoker.cs
- SpellerInterop.cs
- COM2Enum.cs
- SamlAction.cs
- TcpTransportSecurityElement.cs
- ComponentRenameEvent.cs
- ToolStripDropDownItem.cs
- HttpResponseHeader.cs
- NaturalLanguageHyphenator.cs
- ThreadPool.cs
- UriScheme.cs
- _NetworkingPerfCounters.cs
- ViewKeyConstraint.cs
- X509Utils.cs
- ConversionHelper.cs
- CustomWebEventKey.cs
- PreviewPrintController.cs
- CollectionContainer.cs
- FileSecurity.cs
- DataFieldConverter.cs
- Section.cs
- Dispatcher.cs
- ServiceDescriptionReflector.cs
- BulletDecorator.cs
- TokenBasedSet.cs
- DirectoryLocalQuery.cs
- ObfuscateAssemblyAttribute.cs
- AsymmetricSignatureFormatter.cs
- HtmlGenericControl.cs
- HtmlTableRowCollection.cs