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
- TabControl.cs
- CustomCredentialPolicy.cs
- ContentType.cs
- HandleRef.cs
- HandlerMappingMemo.cs
- AutomationPropertyInfo.cs
- TrimSurroundingWhitespaceAttribute.cs
- HttpRequest.cs
- UserControlParser.cs
- CompressionTransform.cs
- SurrogateDataContract.cs
- IndependentAnimationStorage.cs
- StateMachineAction.cs
- Profiler.cs
- Panel.cs
- MenuBindingsEditor.cs
- HwndSourceKeyboardInputSite.cs
- TimeSpanValidator.cs
- PolicyUnit.cs
- MarkedHighlightComponent.cs
- TextEditorTables.cs
- MethodRental.cs
- RegistryConfigurationProvider.cs
- StringFunctions.cs
- InvokeMethodActivityDesigner.cs
- PartialCachingControl.cs
- FixedElement.cs
- StringConcat.cs
- CounterCreationDataConverter.cs
- XamlPoint3DCollectionSerializer.cs
- NotConverter.cs
- EntityException.cs
- UriTemplateTable.cs
- ScriptResourceDefinition.cs
- FamilyMap.cs
- CultureInfo.cs
- ArrayList.cs
- PropertyChangingEventArgs.cs
- DllNotFoundException.cs
- entitydatasourceentitysetnameconverter.cs
- COM2AboutBoxPropertyDescriptor.cs
- SettingsProviderCollection.cs
- DataGridTextBoxColumn.cs
- WorkflowMarkupSerializer.cs
- SQLMoney.cs
- ShapingEngine.cs
- StructuredType.cs
- DataContext.cs
- DesignerCommandAdapter.cs
- PathFigureCollectionValueSerializer.cs
- CharConverter.cs
- DataGridViewColumn.cs
- LinkClickEvent.cs
- TargetInvocationException.cs
- ResolveCriteriaApril2005.cs
- XmlSchemaElement.cs
- Section.cs
- OleDbPermission.cs
- ScriptControlManager.cs
- ActivityBuilderXamlWriter.cs
- DoubleLinkListEnumerator.cs
- SecurityTokenTypes.cs
- SizeAnimation.cs
- WsatAdminException.cs
- TextServicesDisplayAttribute.cs
- SoapSchemaExporter.cs
- StylusSystemGestureEventArgs.cs
- EllipseGeometry.cs
- SqlDataSourceCache.cs
- ComplusTypeValidator.cs
- FixedSOMPageElement.cs
- SafeRightsManagementSessionHandle.cs
- Item.cs
- WindowsGraphicsWrapper.cs
- MetafileHeaderWmf.cs
- DataGridColumn.cs
- DetailsViewDeleteEventArgs.cs
- DetailsViewModeEventArgs.cs
- ZoneIdentityPermission.cs
- PropertyChangeTracker.cs
- PlacementWorkspace.cs
- XmlElementList.cs
- SequentialOutput.cs
- ExternalFile.cs
- JsonQNameDataContract.cs
- GB18030Encoding.cs
- EditingMode.cs
- XmlNotation.cs
- ObjectList.cs
- WebCategoryAttribute.cs
- EventData.cs
- FontFamilyIdentifier.cs
- cache.cs
- MarshalByRefObject.cs
- GroupBox.cs
- TreeWalkHelper.cs
- SettingsBindableAttribute.cs
- NavigationFailedEventArgs.cs
- SweepDirectionValidation.cs
- Misc.cs