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
- SvcMapFile.cs
- IndentedWriter.cs
- RegexMatchCollection.cs
- WmlTextBoxAdapter.cs
- IMembershipProvider.cs
- PeoplePickerWrapper.cs
- RequestValidator.cs
- WebPartConnectionCollection.cs
- PagerSettings.cs
- counter.cs
- GrammarBuilderBase.cs
- LocatorPart.cs
- Geometry3D.cs
- EventMappingSettingsCollection.cs
- SpecularMaterial.cs
- StringHandle.cs
- SizeAnimation.cs
- ContentType.cs
- DataList.cs
- AssertSection.cs
- NullableIntMinMaxAggregationOperator.cs
- ClientSettingsStore.cs
- UnsafeNativeMethods.cs
- WebBrowserUriTypeConverter.cs
- DataListComponentEditor.cs
- IMembershipProvider.cs
- OperationContractGenerationContext.cs
- AsyncOperationManager.cs
- DeleteBookmarkScope.cs
- ExtendedPropertyCollection.cs
- PostBackOptions.cs
- VirtualPathProvider.cs
- ValidatedMobileControlConverter.cs
- CanExecuteRoutedEventArgs.cs
- DateTimeParse.cs
- hresults.cs
- EmptyStringExpandableObjectConverter.cs
- ManagedWndProcTracker.cs
- ValidationEventArgs.cs
- ExceptionRoutedEventArgs.cs
- OutputCacheProfile.cs
- ACL.cs
- BaseHashHelper.cs
- WSHttpBindingCollectionElement.cs
- UrlMappingsModule.cs
- PhysicalFontFamily.cs
- FormsAuthenticationConfiguration.cs
- XsltException.cs
- ChannelDispatcherBase.cs
- Rotation3DAnimation.cs
- ClassHandlersStore.cs
- CombinedTcpChannel.cs
- ConnectionsZone.cs
- SaveFileDialog.cs
- EventHandlersStore.cs
- DrawingVisual.cs
- EncryptedPackageFilter.cs
- DataBindingExpressionBuilder.cs
- PersonalizableTypeEntry.cs
- SR.cs
- TreeNodeSelectionProcessor.cs
- SqlStream.cs
- UIElementIsland.cs
- XhtmlBasicFormAdapter.cs
- StringKeyFrameCollection.cs
- OrthographicCamera.cs
- XPathDocumentNavigator.cs
- Rule.cs
- FontSizeConverter.cs
- RoleGroupCollection.cs
- NoPersistHandle.cs
- RequestCacheEntry.cs
- IgnoreFileBuildProvider.cs
- ExpressionTable.cs
- ContainerAction.cs
- CustomErrorsSectionWrapper.cs
- XmlChildEnumerator.cs
- ThreadStateException.cs
- OverflowException.cs
- BufferedGraphicsManager.cs
- WizardForm.cs
- EncryptedPackage.cs
- CustomActivityDesigner.cs
- DataGridViewCellMouseEventArgs.cs
- EdmToObjectNamespaceMap.cs
- OleDbPropertySetGuid.cs
- ValueType.cs
- ThicknessAnimationUsingKeyFrames.cs
- ChunkedMemoryStream.cs
- DataServiceException.cs
- DocumentGridPage.cs
- XmlLinkedNode.cs
- SortQuery.cs
- ValidationEventArgs.cs
- BindingOperations.cs
- RowVisual.cs
- WaitHandle.cs
- WebPart.cs
- TextAdaptor.cs
- HostProtectionPermission.cs