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
- ValidationHelpers.cs
- DropTarget.cs
- ProcessHostConfigUtils.cs
- ComponentConverter.cs
- CompositeDispatchFormatter.cs
- SmtpClient.cs
- DockEditor.cs
- AssociatedControlConverter.cs
- Polyline.cs
- ArrayWithOffset.cs
- XmlDataSource.cs
- ExceptionUtil.cs
- ClientTargetSection.cs
- ItemType.cs
- SR.cs
- RsaSecurityKey.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- SpeechSeg.cs
- NativeWindow.cs
- MissingMethodException.cs
- IEnumerable.cs
- ManagedFilter.cs
- GB18030Encoding.cs
- EntityModelBuildProvider.cs
- DBCommandBuilder.cs
- Guid.cs
- SqlConnection.cs
- OlePropertyStructs.cs
- PeerTransportListenAddressConverter.cs
- _ScatterGatherBuffers.cs
- ProfileParameter.cs
- XmlSchemaSubstitutionGroup.cs
- BasicCellRelation.cs
- ResourceDescriptionAttribute.cs
- XmlSecureResolver.cs
- MissingMethodException.cs
- Rotation3D.cs
- TypeBuilder.cs
- BypassElementCollection.cs
- CombinedGeometry.cs
- SafeLocalMemHandle.cs
- GrammarBuilder.cs
- DeviceContext2.cs
- CrossSiteScriptingValidation.cs
- BooleanStorage.cs
- IgnoreFlushAndCloseStream.cs
- EdgeProfileValidation.cs
- HMACRIPEMD160.cs
- ImageMapEventArgs.cs
- SafeArrayTypeMismatchException.cs
- DeadCharTextComposition.cs
- TextRunTypographyProperties.cs
- ThousandthOfEmRealPoints.cs
- GcSettings.cs
- Module.cs
- HtmlAnchor.cs
- SqlClientFactory.cs
- ResourceProperty.cs
- DataListItem.cs
- XmlUnspecifiedAttribute.cs
- CodeFieldReferenceExpression.cs
- ConfigsHelper.cs
- XmlSerializerVersionAttribute.cs
- DBCommandBuilder.cs
- SessionStateContainer.cs
- Classification.cs
- TransformerInfo.cs
- GetWinFXPath.cs
- ListBoxItem.cs
- RotateTransform.cs
- TimeStampChecker.cs
- DebugController.cs
- DataSvcMapFile.cs
- ImageList.cs
- Style.cs
- DodSequenceMerge.cs
- NameScopePropertyAttribute.cs
- TypeListConverter.cs
- KeyFrames.cs
- CleanUpVirtualizedItemEventArgs.cs
- CollectionViewGroup.cs
- HttpTransportElement.cs
- FontDriver.cs
- NullableDecimalSumAggregationOperator.cs
- PKCS1MaskGenerationMethod.cs
- StorageInfo.cs
- CompilationRelaxations.cs
- Config.cs
- WebPartDisplayModeCollection.cs
- MdImport.cs
- EntityDataSourceStatementEditor.cs
- InvocationExpression.cs
- XmlSchemaInferenceException.cs
- BindingMAnagerBase.cs
- DesignerTransactionCloseEvent.cs
- DesigntimeLicenseContext.cs
- XPathDocumentBuilder.cs
- StructuredType.cs
- CompilerInfo.cs
- WindowsListBox.cs