Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- EmptyControlCollection.cs
- CodeDirectionExpression.cs
- EmbossBitmapEffect.cs
- _SSPIWrapper.cs
- COM2IDispatchConverter.cs
- InstanceKey.cs
- SafePEFileHandle.cs
- DbConnectionClosed.cs
- LineSegment.cs
- BadImageFormatException.cs
- TextServicesProperty.cs
- ISAPIApplicationHost.cs
- ConfigXmlElement.cs
- ClientApiGenerator.cs
- AutomationIdentifier.cs
- BaseResourcesBuildProvider.cs
- TypedTableBase.cs
- SettingsAttributes.cs
- LinqToSqlWrapper.cs
- DataGridViewRowEventArgs.cs
- nulltextnavigator.cs
- DataSourceXmlTextReader.cs
- ToolZone.cs
- Vector.cs
- DBAsyncResult.cs
- MenuBindingsEditor.cs
- RSAPKCS1SignatureFormatter.cs
- Point4D.cs
- DbTransaction.cs
- PartialCachingControl.cs
- DataServiceHost.cs
- CodeCatchClause.cs
- SettingsAttributes.cs
- SerialErrors.cs
- ISessionStateStore.cs
- ResourceExpressionBuilder.cs
- EntryIndex.cs
- SQLString.cs
- XmlCharacterData.cs
- HttpPostServerProtocol.cs
- FixedDSBuilder.cs
- ClientSideQueueItem.cs
- StorageTypeMapping.cs
- TypeSystemProvider.cs
- CodeCatchClause.cs
- WebPartTransformer.cs
- CustomAttributeSerializer.cs
- BoundField.cs
- UnaryExpressionHelper.cs
- ReadOnlyCollection.cs
- MdiWindowListStrip.cs
- TickBar.cs
- Parser.cs
- XamlTreeBuilderBamlRecordWriter.cs
- ProfileBuildProvider.cs
- Label.cs
- SpecularMaterial.cs
- ToolStripItemEventArgs.cs
- CompoundFileStorageReference.cs
- LinqDataSourceStatusEventArgs.cs
- StorageAssociationTypeMapping.cs
- StrongTypingException.cs
- ArraySortHelper.cs
- WCFServiceClientProxyGenerator.cs
- SchemaImporterExtensionElementCollection.cs
- MenuItemAutomationPeer.cs
- PrefixQName.cs
- DesignTimeData.cs
- NameTable.cs
- DataKeyArray.cs
- RuleInfoComparer.cs
- RightsController.cs
- EndOfStreamException.cs
- PrimaryKeyTypeConverter.cs
- WindowsTab.cs
- NavigationCommands.cs
- RawKeyboardInputReport.cs
- Converter.cs
- GetWinFXPath.cs
- SchemaImporterExtensionsSection.cs
- WizardPanelChangingEventArgs.cs
- ByteStack.cs
- ConfigurationSection.cs
- MessagePropertyDescriptionCollection.cs
- NavigationEventArgs.cs
- HuffmanTree.cs
- GenericTypeParameterConverter.cs
- NetStream.cs
- QuaternionKeyFrameCollection.cs
- ZipIOLocalFileBlock.cs
- counter.cs
- AutoGeneratedFieldProperties.cs
- HTMLTagNameToTypeMapper.cs
- SqlUDTStorage.cs
- Queue.cs
- HttpBufferlessInputStream.cs
- XMLUtil.cs
- WindowInteractionStateTracker.cs
- DockPattern.cs
- DetailsViewModeEventArgs.cs