Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SplitterCancelEvent.cs
- BrushMappingModeValidation.cs
- ObjectQueryState.cs
- ConfigXmlCDataSection.cs
- IMembershipProvider.cs
- ChangePassword.cs
- ReadOnlyMetadataCollection.cs
- DesignerActionVerbList.cs
- OdbcEnvironment.cs
- HMACSHA256.cs
- SQLDoubleStorage.cs
- KeyConstraint.cs
- TransportDefaults.cs
- BitArray.cs
- CompoundFileIOPermission.cs
- AuthenticationService.cs
- References.cs
- UpdatePanelTriggerCollection.cs
- ContainerFilterService.cs
- NameTable.cs
- CodeTypeParameterCollection.cs
- ReadOnlyHierarchicalDataSource.cs
- DependencyPropertyChangedEventArgs.cs
- RestClientProxyHandler.cs
- QueryStringConverter.cs
- util.cs
- TransformDescriptor.cs
- Semaphore.cs
- FormsIdentity.cs
- ResourceReferenceExpressionConverter.cs
- TcpPortSharing.cs
- EncodingConverter.cs
- TextLine.cs
- PopupControlService.cs
- nulltextcontainer.cs
- MemoryStream.cs
- XPathAncestorIterator.cs
- LoginView.cs
- AtomServiceDocumentSerializer.cs
- ContextMarshalException.cs
- RightsManagementPermission.cs
- PointUtil.cs
- RtfControlWordInfo.cs
- WebPartsPersonalizationAuthorization.cs
- NotImplementedException.cs
- DynamicMetaObject.cs
- DbDeleteCommandTree.cs
- Utils.cs
- ExtentCqlBlock.cs
- XmlSchemaValidationException.cs
- LocalValueEnumerator.cs
- RoleGroupCollection.cs
- RecordsAffectedEventArgs.cs
- MailWebEventProvider.cs
- GridEntryCollection.cs
- EntityProviderServices.cs
- GridViewUpdateEventArgs.cs
- MarshalByRefObject.cs
- HtmlFormParameterWriter.cs
- ShapeTypeface.cs
- StreamWithDictionary.cs
- LoginView.cs
- CounterSetInstanceCounterDataSet.cs
- XPathDocumentBuilder.cs
- TiffBitmapEncoder.cs
- __FastResourceComparer.cs
- SendDesigner.xaml.cs
- WebResourceUtil.cs
- StringWriter.cs
- shaperfactory.cs
- GeneralTransformGroup.cs
- DisplayNameAttribute.cs
- EncryptedData.cs
- RtfFormatStack.cs
- AssociationTypeEmitter.cs
- UserControlBuildProvider.cs
- SqlDataAdapter.cs
- StreamUpgradeInitiator.cs
- ValueUtilsSmi.cs
- FormsAuthenticationEventArgs.cs
- DynamicArgumentDialog.cs
- WebBrowserPermission.cs
- Canvas.cs
- wgx_exports.cs
- SMSvcHost.cs
- MaskedTextProvider.cs
- ListControl.cs
- ChannelServices.cs
- TimeSpan.cs
- SinglePageViewer.cs
- WorkflowQueuingService.cs
- DetailsViewModeEventArgs.cs
- SoapAttributeAttribute.cs
- TrackingProfile.cs
- NativeMethods.cs
- updatecommandorderer.cs
- HitTestResult.cs
- SubMenuStyle.cs
- ValueChangedEventManager.cs
- FastEncoderWindow.cs