Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / RootBuilder.cs / 4 / 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
- CompositeTypefaceMetrics.cs
- SrgsRuleRef.cs
- Grant.cs
- PropertyDescriptor.cs
- RangeBase.cs
- DbSetClause.cs
- PeerToPeerException.cs
- XmlILModule.cs
- EncryptedPackageFilter.cs
- RelationshipConverter.cs
- ResourceManagerWrapper.cs
- ConnectionStringEditor.cs
- SettingsPropertyValueCollection.cs
- MoveSizeWinEventHandler.cs
- GridSplitterAutomationPeer.cs
- Configuration.cs
- CacheEntry.cs
- PropertyFilterAttribute.cs
- ArrayHelper.cs
- LineGeometry.cs
- SafeLocalMemHandle.cs
- AssertSection.cs
- Pkcs7Signer.cs
- EllipticalNodeOperations.cs
- DragStartedEventArgs.cs
- DataTablePropertyDescriptor.cs
- BufferModesCollection.cs
- Update.cs
- RunClient.cs
- MembershipUser.cs
- TreeNode.cs
- Constants.cs
- CaseInsensitiveComparer.cs
- XmlSiteMapProvider.cs
- ByteAnimationBase.cs
- WebReferencesBuildProvider.cs
- InternalSafeNativeMethods.cs
- ICollection.cs
- AuthenticationServiceManager.cs
- DriveInfo.cs
- ImportDesigner.xaml.cs
- SimpleRecyclingCache.cs
- TimeSpanConverter.cs
- MediaElementAutomationPeer.cs
- AlphaSortedEnumConverter.cs
- ObjectDataSourceDisposingEventArgs.cs
- AuthenticationService.cs
- BufferModesCollection.cs
- HtmlInputCheckBox.cs
- PointLightBase.cs
- Wildcard.cs
- ObjectQueryExecutionPlan.cs
- AssemblyAssociatedContentFileAttribute.cs
- DPAPIProtectedConfigurationProvider.cs
- InheritanceContextChangedEventManager.cs
- CompositeControl.cs
- TableColumnCollectionInternal.cs
- FormsAuthenticationTicket.cs
- EncodingInfo.cs
- SqlResolver.cs
- DependentTransaction.cs
- TextWriter.cs
- Cursors.cs
- ClrProviderManifest.cs
- DiagnosticsConfiguration.cs
- AnnotationResource.cs
- EncryptedReference.cs
- TypeUtil.cs
- StandardBindingReliableSessionElement.cs
- CssStyleCollection.cs
- PlainXmlWriter.cs
- TextEffectResolver.cs
- EncodingTable.cs
- TextCollapsingProperties.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- TextEndOfParagraph.cs
- SubordinateTransaction.cs
- ScriptingJsonSerializationSection.cs
- ReadOnlyDictionary.cs
- StrokeNodeEnumerator.cs
- BuildManager.cs
- SqlProviderManifest.cs
- PeerPresenceInfo.cs
- DataGridTextBoxColumn.cs
- ProfileParameter.cs
- BitmapSourceSafeMILHandle.cs
- FrameworkContextData.cs
- ImageCodecInfo.cs
- TimelineClockCollection.cs
- StandardBindingOptionalReliableSessionElement.cs
- path.cs
- ImpersonationContext.cs
- WindowsStatusBar.cs
- TreeViewDesigner.cs
- ReferenceEqualityComparer.cs
- FormatSettings.cs
- XamlLoadErrorInfo.cs
- TextTreeText.cs
- GridItemPatternIdentifiers.cs
- TypeBrowserDialog.cs