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
- FrameworkContentElement.cs
- SiteMapNode.cs
- EastAsianLunisolarCalendar.cs
- HashHelper.cs
- BuildResult.cs
- Geometry.cs
- DataGridRelationshipRow.cs
- XmlAttributeOverrides.cs
- infer.cs
- AddInProcess.cs
- TableLayoutSettings.cs
- GridViewHeaderRowPresenter.cs
- KeyedHashAlgorithm.cs
- TransportSecurityProtocolFactory.cs
- x509store.cs
- DataGridRow.cs
- DataGridViewSortCompareEventArgs.cs
- Brush.cs
- GrabHandleGlyph.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- KeysConverter.cs
- NullableConverter.cs
- DurableMessageDispatchInspector.cs
- XmlSchemaChoice.cs
- ToolStripGripRenderEventArgs.cs
- OleDbFactory.cs
- ArraySortHelper.cs
- JsonUriDataContract.cs
- XmlCDATASection.cs
- UserControl.cs
- WindowsListViewGroup.cs
- DBSchemaRow.cs
- DurationConverter.cs
- RecordsAffectedEventArgs.cs
- HashMembershipCondition.cs
- SystemWebCachingSectionGroup.cs
- ListBox.cs
- Utility.cs
- HtmlTitle.cs
- TextReader.cs
- Simplifier.cs
- XmlCharCheckingReader.cs
- CodeCommentStatementCollection.cs
- ProfilePropertySettings.cs
- ToolboxItemImageConverter.cs
- JournalNavigationScope.cs
- ClientProxyGenerator.cs
- SecondaryIndexDefinition.cs
- TextElementEnumerator.cs
- AdornerLayer.cs
- ProxyGenerationError.cs
- QilFactory.cs
- AnimationException.cs
- NamespaceList.cs
- TextReader.cs
- TableColumn.cs
- AxHostDesigner.cs
- RelatedImageListAttribute.cs
- FirstMatchCodeGroup.cs
- CodeNamespaceImportCollection.cs
- ArrayWithOffset.cs
- EventTask.cs
- PrintPreviewControl.cs
- DataSourceListEditor.cs
- LogicalCallContext.cs
- SamlAudienceRestrictionCondition.cs
- basecomparevalidator.cs
- PenContexts.cs
- SafeMILHandleMemoryPressure.cs
- XmlSchemaSimpleTypeRestriction.cs
- SurrogateChar.cs
- XmlKeywords.cs
- Pair.cs
- XmlSchemaRedefine.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- RepeaterItemCollection.cs
- TrustManagerMoreInformation.cs
- NonSerializedAttribute.cs
- MemberRelationshipService.cs
- ComponentCollection.cs
- rsa.cs
- EventHandlers.cs
- SqlLiftIndependentRowExpressions.cs
- GetWorkflowTree.cs
- StylusPointPropertyInfo.cs
- SerialStream.cs
- XamlBrushSerializer.cs
- ClientTargetCollection.cs
- DataRowChangeEvent.cs
- CharacterString.cs
- TimeSpanMinutesConverter.cs
- HMACSHA1.cs
- CodeTypeReference.cs
- SafeRegistryHandle.cs
- WCFModelStrings.Designer.cs
- LostFocusEventManager.cs
- ToolBarButton.cs
- DetailsViewUpdateEventArgs.cs
- TypeSystem.cs
- ApplicationInfo.cs