Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmiRequestExecutor.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- TagMapInfo.cs
- IntSecurity.cs
- EntityViewContainer.cs
- InheritedPropertyDescriptor.cs
- ObjectSet.cs
- XmlSchemaAttributeGroup.cs
- SqlRowUpdatedEvent.cs
- VectorConverter.cs
- InfiniteIntConverter.cs
- ImmutableClientRuntime.cs
- DataGridViewSelectedRowCollection.cs
- WebResponse.cs
- MultiViewDesigner.cs
- UnknownBitmapEncoder.cs
- StringUtil.cs
- DispatcherOperation.cs
- RequiredFieldValidator.cs
- ZipIOCentralDirectoryBlock.cs
- ProfilePropertyNameValidator.cs
- ExceptionRoutedEventArgs.cs
- ListenerElementsCollection.cs
- EntityDescriptor.cs
- IdentityModelStringsVersion1.cs
- XmlNamespaceManager.cs
- SortDescription.cs
- MemoryFailPoint.cs
- Crc32.cs
- HtmlGenericControl.cs
- linebase.cs
- Documentation.cs
- typedescriptorpermission.cs
- SafeThreadHandle.cs
- IgnoreSectionHandler.cs
- ToolZone.cs
- MessageBodyMemberAttribute.cs
- UnknownBitmapDecoder.cs
- XmlDictionaryReader.cs
- NativeObjectSecurity.cs
- Errors.cs
- ResetableIterator.cs
- XmlILConstructAnalyzer.cs
- Rect3D.cs
- HostingEnvironmentSection.cs
- Image.cs
- LambdaCompiler.Unary.cs
- dsa.cs
- XhtmlBasicImageAdapter.cs
- figurelength.cs
- DispatcherEventArgs.cs
- DataPagerField.cs
- PersonalizablePropertyEntry.cs
- RelationshipType.cs
- CngKeyBlobFormat.cs
- ConfigurationSectionGroupCollection.cs
- NumericPagerField.cs
- BasePropertyDescriptor.cs
- EmbossBitmapEffect.cs
- ConstNode.cs
- Component.cs
- SoapMessage.cs
- XhtmlBasicPhoneCallAdapter.cs
- InheritanceContextHelper.cs
- DateTimeSerializationSection.cs
- dataprotectionpermission.cs
- TabRenderer.cs
- XmlNamedNodeMap.cs
- UiaCoreApi.cs
- SystemTcpConnection.cs
- SqlProviderServices.cs
- ToolboxItemImageConverter.cs
- SoapTypeAttribute.cs
- CodeSpit.cs
- Page.cs
- DefaultValidator.cs
- ValidationSummary.cs
- _DisconnectOverlappedAsyncResult.cs
- TableParagraph.cs
- basemetadatamappingvisitor.cs
- SQLInt32.cs
- GraphicsState.cs
- DbConnectionPoolIdentity.cs
- Graphics.cs
- Simplifier.cs
- CollectionDataContractAttribute.cs
- ClosureBinding.cs
- Misc.cs
- TransformerInfo.cs
- ScriptResourceInfo.cs
- PatternMatcher.cs
- ColumnWidthChangedEvent.cs
- TimeZone.cs
- SqlClientWrapperSmiStream.cs
- HtmlImage.cs
- DataService.cs
- BoundField.cs
- ReadOnlyHierarchicalDataSourceView.cs
- KeyedCollection.cs
- CodeTypeReferenceExpression.cs