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
- DesignTimeTemplateParser.cs
- StylusOverProperty.cs
- WebBodyFormatMessageProperty.cs
- SystemTcpStatistics.cs
- CompensationExtension.cs
- BasePattern.cs
- NamedElement.cs
- SqlRowUpdatingEvent.cs
- EncodingNLS.cs
- DataGridViewDataErrorEventArgs.cs
- QueryCacheManager.cs
- MsmqHostedTransportManager.cs
- CodeChecksumPragma.cs
- StrokeRenderer.cs
- CompiledAction.cs
- TableLayoutStyleCollection.cs
- TabletDeviceInfo.cs
- WinFormsUtils.cs
- PageHandlerFactory.cs
- InvalidProgramException.cs
- ApplicationManager.cs
- EventLogEntry.cs
- GeneralTransform3DGroup.cs
- OleDbMetaDataFactory.cs
- RotateTransform.cs
- SoapSchemaMember.cs
- AttachedPropertiesService.cs
- MenuItemBinding.cs
- UIElementCollection.cs
- X509CertificateTrustedIssuerElementCollection.cs
- UserControl.cs
- UInt16.cs
- DataObjectFieldAttribute.cs
- HtmlTextArea.cs
- BinaryExpression.cs
- WebRequestModuleElement.cs
- WorkflowExecutor.cs
- SqlDataSourceCache.cs
- TimerElapsedEvenArgs.cs
- SectionInformation.cs
- SqlFlattener.cs
- SiteMapDataSourceView.cs
- SiteMapHierarchicalDataSourceView.cs
- DataServiceException.cs
- RotationValidation.cs
- SiteMapHierarchicalDataSourceView.cs
- ValidatingReaderNodeData.cs
- ReferenceConverter.cs
- ObjectParameterCollection.cs
- StrokeFIndices.cs
- DateTimePicker.cs
- ImageListUtils.cs
- GridViewColumnHeader.cs
- MemoryFailPoint.cs
- TileModeValidation.cs
- SchemaElementDecl.cs
- EmissiveMaterial.cs
- DateTimeOffsetAdapter.cs
- CodeDomLocalizationProvider.cs
- References.cs
- RemotingConfiguration.cs
- XamlPointCollectionSerializer.cs
- Model3DGroup.cs
- FixedSOMSemanticBox.cs
- State.cs
- SafeThemeHandle.cs
- TitleStyle.cs
- CryptoKeySecurity.cs
- EventProviderWriter.cs
- ObjRef.cs
- TreeView.cs
- BamlLocalizableResourceKey.cs
- SupportingTokenSpecification.cs
- TextRunTypographyProperties.cs
- basenumberconverter.cs
- TargetException.cs
- InvalidProgramException.cs
- AnnotationResourceCollection.cs
- WarningException.cs
- TransformerTypeCollection.cs
- Pen.cs
- IriParsingElement.cs
- AmbientLight.cs
- OutArgument.cs
- SmtpCommands.cs
- AttachedPropertyInfo.cs
- Parameter.cs
- XmlBinaryWriterSession.cs
- CommandEventArgs.cs
- KeyEventArgs.cs
- MSAANativeProvider.cs
- OutputCacheSettingsSection.cs
- DocumentReference.cs
- DependencyPropertyValueSerializer.cs
- MonikerHelper.cs
- FormatConvertedBitmap.cs
- HierarchicalDataBoundControl.cs
- FusionWrap.cs
- TextOnlyOutput.cs
- FormsAuthenticationModule.cs