Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- InfoCardTrace.cs
- ISAPIWorkerRequest.cs
- QueryContinueDragEvent.cs
- CredentialCache.cs
- WinCategoryAttribute.cs
- IndicShape.cs
- TableLayoutStyle.cs
- AggregateNode.cs
- HtmlInputReset.cs
- ValuePatternIdentifiers.cs
- InvalidContentTypeException.cs
- XmlSchemas.cs
- ConnectionConsumerAttribute.cs
- AssemblyCollection.cs
- QueryStack.cs
- KeyInterop.cs
- NaturalLanguageHyphenator.cs
- UpDownBase.cs
- PrimitiveCodeDomSerializer.cs
- ResourceCodeDomSerializer.cs
- ValidationHelper.cs
- CaseStatementSlot.cs
- OleDbInfoMessageEvent.cs
- Directory.cs
- DependentList.cs
- DataGridLength.cs
- PropertyGridEditorPart.cs
- Array.cs
- EntityContainerRelationshipSetEnd.cs
- WMIGenerator.cs
- TextSpanModifier.cs
- EntityTypeBase.cs
- ColorConverter.cs
- OdbcEnvironment.cs
- WebPartZone.cs
- AlignmentXValidation.cs
- diagnosticsswitches.cs
- MatrixValueSerializer.cs
- XmlNamedNodeMap.cs
- ReflectionTypeLoadException.cs
- SerialPinChanges.cs
- AvtEvent.cs
- Stack.cs
- LogWriteRestartAreaState.cs
- ByteRangeDownloader.cs
- UpdatePanelTrigger.cs
- BrowserInteropHelper.cs
- DataControlPagerLinkButton.cs
- SystemDropShadowChrome.cs
- ProtocolElement.cs
- SessionStateSection.cs
- ScrollItemPattern.cs
- SafeHandles.cs
- Condition.cs
- QilReplaceVisitor.cs
- DependentList.cs
- ObjectViewEntityCollectionData.cs
- ExtendLockAsyncResult.cs
- CodeVariableDeclarationStatement.cs
- ControlBindingsCollection.cs
- Stack.cs
- NavigationProgressEventArgs.cs
- UnsafeNativeMethods.cs
- OutputCacheProfile.cs
- TableLayoutPanelCellPosition.cs
- SafePEFileHandle.cs
- WCFBuildProvider.cs
- SpecialFolderEnumConverter.cs
- ResourcePermissionBase.cs
- DateTimeUtil.cs
- RelationalExpressions.cs
- OledbConnectionStringbuilder.cs
- LayoutInformation.cs
- EndpointDesigner.cs
- ImageSource.cs
- ParserOptions.cs
- DbParameterHelper.cs
- TextBoxLine.cs
- FileLogRecordHeader.cs
- SamlDoNotCacheCondition.cs
- CommandPlan.cs
- GenericTypeParameterBuilder.cs
- Hyperlink.cs
- MenuRendererStandards.cs
- ClientData.cs
- EntityDataSourceChangedEventArgs.cs
- ConfigurationSchemaErrors.cs
- SqlComparer.cs
- _SslSessionsCache.cs
- ReadOnlyDataSource.cs
- MenuBase.cs
- DataGridColumnCollection.cs
- StrongName.cs
- DataContract.cs
- TableChangeProcessor.cs
- SoapSchemaMember.cs
- VarRefManager.cs
- ErrorWrapper.cs
- ListContractAdapter.cs
- ExtractedStateEntry.cs