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;
///
///
/// [To be supplied.]
///
[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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Scene3D.cs
- OpCodes.cs
- ApplicationServiceManager.cs
- BrowserCapabilitiesCompiler.cs
- Stopwatch.cs
- ConfigXmlAttribute.cs
- NonBatchDirectoryCompiler.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ImpersonationContext.cs
- TypeToken.cs
- NumericUpDownAcceleration.cs
- TypeHelpers.cs
- DefaultBinder.cs
- WindowsToolbarAsMenu.cs
- CompositeDataBoundControl.cs
- ClassHandlersStore.cs
- ResourcesChangeInfo.cs
- IndexerNameAttribute.cs
- WizardPanel.cs
- SqlDataReader.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SqlMetaData.cs
- Track.cs
- WebServiceEnumData.cs
- ProfileSection.cs
- HttpCachePolicyElement.cs
- ChannelBinding.cs
- XPathNodeList.cs
- ChooseAction.cs
- DateTimeFormatInfoScanner.cs
- WebEventTraceProvider.cs
- XmlNotation.cs
- UnsafeNativeMethodsTablet.cs
- GenericPrincipal.cs
- MouseDevice.cs
- BrowserCapabilitiesFactoryBase.cs
- ErrorTableItemStyle.cs
- FaultDescriptionCollection.cs
- AlternationConverter.cs
- AttributedMetaModel.cs
- _LocalDataStore.cs
- SqlEnums.cs
- MissingMemberException.cs
- QualifiedId.cs
- OutputCacheModule.cs
- PersonalizationState.cs
- Stopwatch.cs
- TimeSpanStorage.cs
- EncoderFallback.cs
- ContentIterators.cs
- HtmlTableCell.cs
- SqlDependency.cs
- MissingSatelliteAssemblyException.cs
- HandlerWithFactory.cs
- BuildResult.cs
- ChangeTracker.cs
- MemoryFailPoint.cs
- SHA384.cs
- BitmapDownload.cs
- XmlIlVisitor.cs
- EpmSourceTree.cs
- OrderedDictionaryStateHelper.cs
- Light.cs
- Error.cs
- SqlCacheDependency.cs
- DynamicFilterExpression.cs
- Registry.cs
- WebPartsSection.cs
- NativeMethods.cs
- BamlRecordReader.cs
- DataFieldCollectionEditor.cs
- ImageDrawing.cs
- NamedPipeConnectionPoolSettingsElement.cs
- ContentElement.cs
- ListQueryResults.cs
- XmlSchemaCollection.cs
- ModelVisual3D.cs
- ModifierKeysValueSerializer.cs
- HtmlLink.cs
- WorkflowDefinitionContext.cs
- TypeBuilder.cs
- PrivilegedConfigurationManager.cs
- WhiteSpaceTrimStringConverter.cs
- CategoriesDocumentFormatter.cs
- HtmlControlPersistable.cs
- ActivityMetadata.cs
- XmlDataImplementation.cs
- CatalogPartChrome.cs
- OleDbParameterCollection.cs
- MetadataItemEmitter.cs
- Soap.cs
- dtdvalidator.cs
- TCPListener.cs
- SplineQuaternionKeyFrame.cs
- XmlSchemaGroup.cs
- IPipelineRuntime.cs
- AutomationEventArgs.cs
- DecimalAnimationUsingKeyFrames.cs
- SecurityState.cs
- EmbeddedObject.cs