Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / RootBuilder.cs / 1 / 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. //------------------------------------------------------------------------------ //[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.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomValidator.cs
- ContextMarshalException.cs
- _AutoWebProxyScriptHelper.cs
- InlineUIContainer.cs
- Parameter.cs
- UrlAuthFailedErrorFormatter.cs
- StringBuilder.cs
- CustomDictionarySources.cs
- CompilerGlobalScopeAttribute.cs
- PhysicalAddress.cs
- SecurityDescriptor.cs
- XmlSchemaInclude.cs
- DrawListViewItemEventArgs.cs
- AssertSection.cs
- DuplexClientBase.cs
- HttpCacheParams.cs
- XamlVector3DCollectionSerializer.cs
- ToolStripRendererSwitcher.cs
- ApplicationServicesHostFactory.cs
- KeyToListMap.cs
- ConnectorMovedEventArgs.cs
- ResXBuildProvider.cs
- EditorZone.cs
- WebPartTracker.cs
- HtmlShimManager.cs
- WriteStateInfoBase.cs
- NamespaceList.cs
- MobileContainerDesigner.cs
- Comparer.cs
- ThousandthOfEmRealDoubles.cs
- StringFreezingAttribute.cs
- AutomationIdentifier.cs
- DbDeleteCommandTree.cs
- VisualProxy.cs
- RequestQueue.cs
- XmlQueryRuntime.cs
- TextFormatterContext.cs
- TextSelectionProcessor.cs
- HttpCachePolicyWrapper.cs
- ToolStripDesignerUtils.cs
- ListArgumentProvider.cs
- ThreadBehavior.cs
- NamedElement.cs
- HashSetDebugView.cs
- MimeMapping.cs
- DbExpressionVisitor_TResultType.cs
- SQLInt32.cs
- ObjectView.cs
- XmlSerializerSection.cs
- SrgsOneOf.cs
- XmlParser.cs
- DBSchemaTable.cs
- DeadCharTextComposition.cs
- SecurityRuntime.cs
- ContentElementAutomationPeer.cs
- ImageIndexConverter.cs
- MissingSatelliteAssemblyException.cs
- TreeView.cs
- KnownBoxes.cs
- SecurityPolicySection.cs
- Converter.cs
- BeginEvent.cs
- FullTextBreakpoint.cs
- ObjectStorage.cs
- InternalDispatchObject.cs
- ValidatingReaderNodeData.cs
- AssemblyBuilder.cs
- TextTreePropertyUndoUnit.cs
- ProxyWebPartConnectionCollection.cs
- RSAProtectedConfigurationProvider.cs
- WebReferencesBuildProvider.cs
- HttpCapabilitiesSectionHandler.cs
- PointLightBase.cs
- DataReceivedEventArgs.cs
- CreateParams.cs
- Binding.cs
- ToggleButtonAutomationPeer.cs
- MarkedHighlightComponent.cs
- XmlObjectSerializer.cs
- ArgumentDesigner.xaml.cs
- DataRecordInternal.cs
- Cell.cs
- ElementsClipboardData.cs
- SQLUtility.cs
- IDReferencePropertyAttribute.cs
- ContextMenuAutomationPeer.cs
- WebBrowserContainer.cs
- XmlSchemaIdentityConstraint.cs
- WMICapabilities.cs
- SqlTrackingService.cs
- ClassicBorderDecorator.cs
- IisTraceListener.cs
- EmptyEnumerable.cs
- RequiredFieldValidator.cs
- WaitingCursor.cs
- KeyedHashAlgorithm.cs
- ReachDocumentReferenceSerializerAsync.cs
- CatalogZoneDesigner.cs
- _UriTypeConverter.cs
- DLinqDataModelProvider.cs