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
- MenuTracker.cs
- AccessText.cs
- DebuggerAttributes.cs
- ObjectListFieldsPage.cs
- DataGridTablesFactory.cs
- ComplusEndpointConfigContainer.cs
- FillRuleValidation.cs
- DataSourceXmlSerializationAttribute.cs
- ThaiBuddhistCalendar.cs
- CatalogZoneBase.cs
- baseshape.cs
- FontSizeConverter.cs
- OleDbStruct.cs
- SettingsAttributes.cs
- ObjectStateFormatter.cs
- SoundPlayer.cs
- Path.cs
- PermissionAttributes.cs
- HashJoinQueryOperatorEnumerator.cs
- BaseAppDomainProtocolHandler.cs
- TransportBindingElement.cs
- DataTrigger.cs
- DocumentPageViewAutomationPeer.cs
- RequiredAttributeAttribute.cs
- PropertyEntry.cs
- HtmlForm.cs
- SrgsElementList.cs
- EditorZone.cs
- AttributeQuery.cs
- ClientSideQueueItem.cs
- URLAttribute.cs
- SynchronizedMessageSource.cs
- CompiledIdentityConstraint.cs
- Focus.cs
- CompositeFontParser.cs
- mda.cs
- ReflectEventDescriptor.cs
- SqlXml.cs
- WebBrowserNavigatedEventHandler.cs
- AssemblyCollection.cs
- XmlSchemaParticle.cs
- FileNotFoundException.cs
- WizardStepBase.cs
- StrongNameUtility.cs
- StreamMarshaler.cs
- ZipIOCentralDirectoryFileHeader.cs
- SqlDataSourceCommandEventArgs.cs
- StyleSheetRefUrlEditor.cs
- OrderPreservingSpoolingTask.cs
- XmlEncoding.cs
- DetailsViewPageEventArgs.cs
- XslException.cs
- SerialReceived.cs
- ComplexPropertyEntry.cs
- TextBoxRenderer.cs
- FileRegion.cs
- RemotingException.cs
- SimpleTableProvider.cs
- CatalogZone.cs
- ExpressionBuilder.cs
- UnmanagedHandle.cs
- IResourceProvider.cs
- WebPartConnection.cs
- ItemsPanelTemplate.cs
- StackOverflowException.cs
- ButtonColumn.cs
- CodeEventReferenceExpression.cs
- EntityConnectionStringBuilderItem.cs
- GridLength.cs
- MustUnderstandBehavior.cs
- ObjectDataSourceMethodEditor.cs
- LogLogRecordEnumerator.cs
- _Connection.cs
- RoutedCommand.cs
- AddInEnvironment.cs
- SqlUdtInfo.cs
- StrongNameMembershipCondition.cs
- PersonalizationStateInfoCollection.cs
- BroadcastEventHelper.cs
- ToolStripHighContrastRenderer.cs
- Image.cs
- ReceiveReply.cs
- GenericEnumConverter.cs
- AuthenticateEventArgs.cs
- MonthChangedEventArgs.cs
- SQLBinary.cs
- DbgUtil.cs
- ClientBuildManagerCallback.cs
- AstTree.cs
- CreatingCookieEventArgs.cs
- ParameterCollectionEditor.cs
- SafeProcessHandle.cs
- WebPartEditorOkVerb.cs
- RequestTimeoutManager.cs
- AddInEnvironment.cs
- ConfigurationManagerInternalFactory.cs
- InkSerializer.cs
- UpdateRecord.cs
- FontFaceLayoutInfo.cs
- SinglePhaseEnlistment.cs