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
- XmlSchemaComplexType.cs
- PauseStoryboard.cs
- MessageFilter.cs
- CatchDesigner.xaml.cs
- SmtpMail.cs
- PerformanceCountersElement.cs
- EntityWrapper.cs
- AnnotationDocumentPaginator.cs
- Win32Exception.cs
- Pen.cs
- IDReferencePropertyAttribute.cs
- ModelUIElement3D.cs
- TabItem.cs
- XmlCharCheckingReader.cs
- OleDbParameterCollection.cs
- Table.cs
- PageContent.cs
- dataSvcMapFileLoader.cs
- DataServiceRequestOfT.cs
- RelatedView.cs
- ParameterCollection.cs
- CreateDataSourceDialog.cs
- FixedSOMPage.cs
- DiagnosticsConfiguration.cs
- LineSegment.cs
- BamlResourceDeserializer.cs
- TransactionFlowBindingElement.cs
- OutputCacheSettingsSection.cs
- GeneratedContractType.cs
- UserNameSecurityToken.cs
- BStrWrapper.cs
- SrgsSemanticInterpretationTag.cs
- UnmanagedHandle.cs
- Avt.cs
- ProcessThread.cs
- OciLobLocator.cs
- SqlRowUpdatingEvent.cs
- ToolboxBitmapAttribute.cs
- ReadContentAsBinaryHelper.cs
- SymbolTable.cs
- DataContractJsonSerializer.cs
- counter.cs
- MessageFormatterConverter.cs
- FacetChecker.cs
- XmlNodeReader.cs
- WeakHashtable.cs
- Simplifier.cs
- Path.cs
- HttpHeaderCollection.cs
- TextTreeExtractElementUndoUnit.cs
- DependsOnAttribute.cs
- OdbcUtils.cs
- BridgeDataRecord.cs
- safex509handles.cs
- TimelineGroup.cs
- DocumentPaginator.cs
- AnnotationAuthorChangedEventArgs.cs
- ViewStateException.cs
- PreviewKeyDownEventArgs.cs
- Profiler.cs
- ToolboxItem.cs
- Html32TextWriter.cs
- NotifyIcon.cs
- ProtocolState.cs
- RegexWorker.cs
- EventPropertyMap.cs
- HtmlAnchor.cs
- Calendar.cs
- JulianCalendar.cs
- ListViewItem.cs
- StringResourceManager.cs
- WebRequest.cs
- Size.cs
- HotCommands.cs
- Range.cs
- DelegatingMessage.cs
- TextClipboardData.cs
- EndPoint.cs
- glyphs.cs
- BeginEvent.cs
- CompletedAsyncResult.cs
- SynchronousChannelMergeEnumerator.cs
- WebDescriptionAttribute.cs
- WindowsEditBoxRange.cs
- PrintPreviewGraphics.cs
- XmlSchemaSimpleContentExtension.cs
- StylusPointProperties.cs
- X509Certificate.cs
- LabelInfo.cs
- PermissionSet.cs
- CodeTypeMember.cs
- FragmentQueryProcessor.cs
- ReferenceTypeElement.cs
- Timer.cs
- Identity.cs
- LexicalChunk.cs
- QueryBranchOp.cs
- SelectQueryOperator.cs
- ObjectPropertyMapping.cs
- httpstaticobjectscollection.cs