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
- CodeAssignStatement.cs
- XmlUnspecifiedAttribute.cs
- TemplateField.cs
- FlowStep.cs
- MissingMethodException.cs
- Util.cs
- XamlFilter.cs
- PersonalizationProvider.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CompiledRegexRunner.cs
- GCHandleCookieTable.cs
- ReferencedType.cs
- DropTarget.cs
- DataBindingExpressionBuilder.cs
- Model3D.cs
- BoundPropertyEntry.cs
- AnnotationMap.cs
- SurrogateEncoder.cs
- Crc32Helper.cs
- MsmqHostedTransportManager.cs
- ExpressionReplacer.cs
- CustomError.cs
- PathGeometry.cs
- OracleConnectionString.cs
- SqlRemoveConstantOrderBy.cs
- Helper.cs
- MarkupCompilePass2.cs
- SqlMethodTransformer.cs
- ManualResetEvent.cs
- BinaryObjectInfo.cs
- CompiledQueryCacheKey.cs
- ServiceDescription.cs
- OutputCacheSettingsSection.cs
- CodeEventReferenceExpression.cs
- SqlCacheDependencyDatabase.cs
- AlternateViewCollection.cs
- Light.cs
- SafeNativeMethodsOther.cs
- StyleCollectionEditor.cs
- WebControlAdapter.cs
- DbParameterCollectionHelper.cs
- CookielessHelper.cs
- MembershipUser.cs
- BindingCollection.cs
- RoutedPropertyChangedEventArgs.cs
- KnownBoxes.cs
- SHA1Managed.cs
- MemberAssignment.cs
- PeerNameRecord.cs
- GB18030Encoding.cs
- MimeTypePropertyAttribute.cs
- Errors.cs
- log.cs
- SettingsSection.cs
- DoubleLinkListEnumerator.cs
- EventTrigger.cs
- SeekableReadStream.cs
- Overlapped.cs
- FixedSOMTextRun.cs
- X509ScopedServiceCertificateElementCollection.cs
- FrameAutomationPeer.cs
- ReceiveSecurityHeader.cs
- StatusBarPanelClickEvent.cs
- QueryReaderSettings.cs
- CacheMemory.cs
- CellRelation.cs
- EllipseGeometry.cs
- XmlElementList.cs
- ConnectionInterfaceCollection.cs
- XmlDataSourceNodeDescriptor.cs
- ExchangeUtilities.cs
- ZoneButton.cs
- HtmlTernaryTree.cs
- CustomExpression.cs
- ButtonPopupAdapter.cs
- JsonObjectDataContract.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- _FtpControlStream.cs
- GeometryConverter.cs
- TextChange.cs
- XmlDownloadManager.cs
- OleDbPropertySetGuid.cs
- ResolveMatchesApril2005.cs
- MDIClient.cs
- WCFServiceClientProxyGenerator.cs
- BaseCodeDomTreeGenerator.cs
- BehaviorEditorPart.cs
- AutoScrollHelper.cs
- XsltQilFactory.cs
- ArcSegment.cs
- Connector.xaml.cs
- ScaleTransform.cs
- Automation.cs
- CodeCastExpression.cs
- SqlDataSourceQueryConverter.cs
- ScrollPattern.cs
- UInt64Converter.cs
- PropertyGridEditorPart.cs
- Subset.cs
- HtmlTitle.cs