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
- TemplateBamlRecordReader.cs
- RepeatBehavior.cs
- DetailsViewInsertEventArgs.cs
- AuthenticationModuleElement.cs
- CodeSubDirectory.cs
- DocumentViewerHelper.cs
- Keywords.cs
- QueryContinueDragEventArgs.cs
- SchemaImporterExtensionElementCollection.cs
- EventLogEntry.cs
- StickyNoteHelper.cs
- ToolStripItemEventArgs.cs
- WebPartZoneBase.cs
- ManagementOperationWatcher.cs
- CommandBindingCollection.cs
- newinstructionaction.cs
- ProfileSettingsCollection.cs
- ETagAttribute.cs
- ServiceOperationParameter.cs
- ProxyGenerationError.cs
- MethodToken.cs
- WhitespaceRuleReader.cs
- CodeDomSerializer.cs
- Material.cs
- DataGridViewLayoutData.cs
- EventEntry.cs
- RegexCaptureCollection.cs
- ReachUIElementCollectionSerializer.cs
- LinkButton.cs
- ModelVisual3D.cs
- ExpanderAutomationPeer.cs
- ThreadAbortException.cs
- DiscoveryDefaults.cs
- ObjectDataSourceStatusEventArgs.cs
- NetworkCredential.cs
- VisualTarget.cs
- TableLayoutSettingsTypeConverter.cs
- Repeater.cs
- StylusButtonCollection.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ObjectKeyFrameCollection.cs
- MatchingStyle.cs
- TcpChannelHelper.cs
- DurableInstanceContextProvider.cs
- ArrayElementGridEntry.cs
- ToolStripInSituService.cs
- XmlWrappingWriter.cs
- IInstanceContextProvider.cs
- XsltException.cs
- MatrixCamera.cs
- WebPartHelpVerb.cs
- CheckableControlBaseAdapter.cs
- LookupBindingPropertiesAttribute.cs
- IndexOutOfRangeException.cs
- OutputScopeManager.cs
- QilIterator.cs
- SerializationInfo.cs
- Mapping.cs
- RequestStatusBarUpdateEventArgs.cs
- XMLSchema.cs
- PersonalizationDictionary.cs
- SmtpException.cs
- StandardCommands.cs
- ListInitExpression.cs
- RegistrationServices.cs
- HitTestParameters3D.cs
- JsonReader.cs
- DEREncoding.cs
- SiteMapHierarchicalDataSourceView.cs
- FreezableCollection.cs
- ArraySegment.cs
- XPathEmptyIterator.cs
- webclient.cs
- Util.cs
- COM2FontConverter.cs
- TagPrefixCollection.cs
- DocumentViewerConstants.cs
- NativeActivityMetadata.cs
- Win32Native.cs
- EventDescriptorCollection.cs
- CompositeActivityValidator.cs
- SafeSecurityHandles.cs
- ZoneMembershipCondition.cs
- Geometry.cs
- TransformerTypeCollection.cs
- TraceUtils.cs
- XpsFixedDocumentReaderWriter.cs
- WebBrowserNavigatedEventHandler.cs
- WebColorConverter.cs
- DashStyle.cs
- ListViewGroupItemCollection.cs
- ExtendedProtectionPolicyElement.cs
- ColorKeyFrameCollection.cs
- TypeDelegator.cs
- ExcCanonicalXml.cs
- RemotingConfiguration.cs
- IndentTextWriter.cs
- XdrBuilder.cs
- DelayLoadType.cs
- Decoder.cs