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
- RelativeSource.cs
- HostingEnvironmentWrapper.cs
- BreakRecordTable.cs
- HtmlHead.cs
- TableAdapterManagerGenerator.cs
- HtmlInputFile.cs
- SqlCharStream.cs
- StylusPointPropertyUnit.cs
- SystemTcpStatistics.cs
- WebPartConnectionsEventArgs.cs
- XamlPointCollectionSerializer.cs
- CodeGen.cs
- UserControlParser.cs
- SymmetricAlgorithm.cs
- MSAAEventDispatcher.cs
- DbParameterHelper.cs
- ReachFixedDocumentSerializer.cs
- XmlDocumentType.cs
- COM2PropertyDescriptor.cs
- ListBoxItem.cs
- DataGridViewCheckBoxCell.cs
- grammarelement.cs
- Select.cs
- ServiceModelSecurityTokenTypes.cs
- SqlFormatter.cs
- ServiceDocumentFormatter.cs
- OutputCacheModule.cs
- OdbcConnectionPoolProviderInfo.cs
- SchemaCollectionCompiler.cs
- LambdaCompiler.Logical.cs
- HybridWebProxyFinder.cs
- WindowsNonControl.cs
- ExpressionReplacer.cs
- PartitionedStreamMerger.cs
- PageRequestManager.cs
- LoginCancelEventArgs.cs
- ScriptingScriptResourceHandlerSection.cs
- ActivityDesignerResources.cs
- _HeaderInfoTable.cs
- MemberRelationshipService.cs
- PackageProperties.cs
- FormViewModeEventArgs.cs
- ChangeProcessor.cs
- DataServiceQuery.cs
- UnaryExpression.cs
- WebBrowser.cs
- WSHttpBindingCollectionElement.cs
- MultiTrigger.cs
- DSASignatureDeformatter.cs
- GridSplitter.cs
- LocatorPartList.cs
- ColorContext.cs
- SetIndexBinder.cs
- PropertyValue.cs
- nulltextnavigator.cs
- SortAction.cs
- ColumnMap.cs
- ResourceDisplayNameAttribute.cs
- EpmContentSerializerBase.cs
- ToolboxService.cs
- HealthMonitoringSection.cs
- StaticResourceExtension.cs
- ComboBoxAutomationPeer.cs
- AbandonedMutexException.cs
- XmlUtil.cs
- DataGridAutomationPeer.cs
- SystemShuttingDownException.cs
- XmlSchemaAll.cs
- ToolBarTray.cs
- ToolStripItemRenderEventArgs.cs
- LicenseContext.cs
- ChildTable.cs
- FormViewModeEventArgs.cs
- MarkupProperty.cs
- BitmapDownload.cs
- ISCIIEncoding.cs
- HtmlInputText.cs
- TableProviderWrapper.cs
- LocalizableAttribute.cs
- ListViewSortEventArgs.cs
- XPathParser.cs
- ToolStripItemCollection.cs
- AdapterDictionary.cs
- PageAdapter.cs
- SmtpAuthenticationManager.cs
- RuntimeCompatibilityAttribute.cs
- SoapDocumentServiceAttribute.cs
- MeasurementDCInfo.cs
- ProxyWebPart.cs
- XmlDataImplementation.cs
- BrowserCapabilitiesCodeGenerator.cs
- StringBlob.cs
- ColorMatrix.cs
- DesignerForm.cs
- Win32.cs
- ContainsRowNumberChecker.cs
- ImageDrawing.cs
- PropertyValueEditor.cs
- control.ime.cs
- SqlBulkCopyColumnMappingCollection.cs