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
- SizeConverter.cs
- TableLayoutRowStyleCollection.cs
- WebBrowserUriTypeConverter.cs
- UnsafeNativeMethods.cs
- RemoteHelper.cs
- SemaphoreSecurity.cs
- TemplatedMailWebEventProvider.cs
- MasterPageParser.cs
- MediaElementAutomationPeer.cs
- TdsValueSetter.cs
- CommentEmitter.cs
- DBNull.cs
- RoutedEvent.cs
- DataSourceHelper.cs
- LongAverageAggregationOperator.cs
- SimpleRecyclingCache.cs
- OdbcFactory.cs
- DataPointer.cs
- TimeSpanValidator.cs
- SocketAddress.cs
- TreeWalker.cs
- SurrogateDataContract.cs
- TraceContextEventArgs.cs
- WindowsProgressbar.cs
- XmlSchemaImporter.cs
- ContainerFilterService.cs
- StorageMappingItemCollection.cs
- OleDbFactory.cs
- HwndSourceKeyboardInputSite.cs
- GraphicsPath.cs
- RoleManagerSection.cs
- WorkflowServiceHost.cs
- Vector3DConverter.cs
- coordinator.cs
- ObservableCollection.cs
- ColorConverter.cs
- XamlSerializer.cs
- XmlWriterTraceListener.cs
- AutomationEvent.cs
- DefaultWorkflowSchedulerService.cs
- ExceptionWrapper.cs
- ParentQuery.cs
- SplineKeyFrames.cs
- SiteMapNodeItemEventArgs.cs
- XmlIlVisitor.cs
- AutoGeneratedField.cs
- FixedSOMTableRow.cs
- TextWriter.cs
- HtmlControlDesigner.cs
- TransactionChannelFactory.cs
- StreamResourceInfo.cs
- ProfileService.cs
- ByteFacetDescriptionElement.cs
- WindowsListView.cs
- TypeBuilderInstantiation.cs
- MeshGeometry3D.cs
- ByteAnimationUsingKeyFrames.cs
- EntityException.cs
- SvcMapFileSerializer.cs
- MouseButton.cs
- RegisterResponseInfo.cs
- BehaviorEditorPart.cs
- TickBar.cs
- _IPv6Address.cs
- ExpandoObject.cs
- ToggleButtonAutomationPeer.cs
- BitmapFrameDecode.cs
- ToolTipAutomationPeer.cs
- WindowsMenu.cs
- SolidColorBrush.cs
- StringKeyFrameCollection.cs
- MetadataArtifactLoaderCompositeFile.cs
- MappingMetadataHelper.cs
- RawStylusInputCustomDataList.cs
- NullableDoubleMinMaxAggregationOperator.cs
- tooltip.cs
- SignatureToken.cs
- NegotiateStream.cs
- HttpApplication.cs
- GenerateScriptTypeAttribute.cs
- HttpStreamMessage.cs
- DbConnectionStringCommon.cs
- ListBox.cs
- ResourceDescriptionAttribute.cs
- PromptEventArgs.cs
- OutputCacheSettingsSection.cs
- OleTxTransaction.cs
- oledbmetadatacolumnnames.cs
- LifetimeServices.cs
- FontStyles.cs
- FormViewUpdatedEventArgs.cs
- CompensateDesigner.cs
- Marshal.cs
- DiscoveryMessageSequence11.cs
- UpdateInfo.cs
- UnsupportedPolicyOptionsException.cs
- StorageInfo.cs
- __Filters.cs
- TypeExtensions.cs
- CFStream.cs