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
- CommonXSendMessage.cs
- ComplexTypeEmitter.cs
- ComponentManagerBroker.cs
- LicenseProviderAttribute.cs
- TrackingValidationObjectDictionary.cs
- DictionaryBase.cs
- RootBrowserWindow.cs
- CacheHelper.cs
- ContentFilePart.cs
- FormViewModeEventArgs.cs
- Triplet.cs
- PlatformNotSupportedException.cs
- DeclarationUpdate.cs
- FormsAuthenticationModule.cs
- pingexception.cs
- FormsAuthenticationTicket.cs
- TabControlAutomationPeer.cs
- NavigationExpr.cs
- XamlWriter.cs
- ObjectToIdCache.cs
- safex509handles.cs
- TriggerActionCollection.cs
- Vector3dCollection.cs
- StreamGeometryContext.cs
- PeoplePickerWrapper.cs
- embossbitmapeffect.cs
- XmlStreamedByteStreamReader.cs
- TemplateKey.cs
- ManagedFilter.cs
- Debug.cs
- TypeResolver.cs
- AVElementHelper.cs
- IArgumentProvider.cs
- itemelement.cs
- FileDetails.cs
- Serializer.cs
- DiagnosticTrace.cs
- TreeNodeConverter.cs
- CustomErrorCollection.cs
- RijndaelCryptoServiceProvider.cs
- XmlEnumAttribute.cs
- HyperLinkColumn.cs
- CursorConverter.cs
- MaskedTextBox.cs
- X509Certificate.cs
- XmlEncoding.cs
- ObjectDataProvider.cs
- Shape.cs
- XMLDiffLoader.cs
- TdsParserStaticMethods.cs
- CapabilitiesAssignment.cs
- DataSourceDesigner.cs
- EtwTrackingParticipant.cs
- RegisteredHiddenField.cs
- QuaternionAnimationBase.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- ServiceModelInstallComponent.cs
- Privilege.cs
- GenericAuthenticationEventArgs.cs
- ConfigurationPermission.cs
- BitmapEffectDrawingContextWalker.cs
- CachedTypeface.cs
- MissingSatelliteAssemblyException.cs
- AuthenticationSection.cs
- ReadOnlyNameValueCollection.cs
- ExtendedPropertyCollection.cs
- ParentQuery.cs
- ButtonChrome.cs
- DesignBindingPicker.cs
- Point4DValueSerializer.cs
- SQLBytes.cs
- TrackingSection.cs
- PartitionedDataSource.cs
- JsonWriter.cs
- BaseDataListPage.cs
- JsonSerializer.cs
- NumericUpDownAccelerationCollection.cs
- IndependentlyAnimatedPropertyMetadata.cs
- MarshalDirectiveException.cs
- HMAC.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RepeatBehavior.cs
- ButtonAutomationPeer.cs
- SQLDecimalStorage.cs
- ProfileService.cs
- PieceNameHelper.cs
- XPathBinder.cs
- ProgressBarRenderer.cs
- KnownAssembliesSet.cs
- XmlnsPrefixAttribute.cs
- IncrementalReadDecoders.cs
- OneToOneMappingSerializer.cs
- EventRoute.cs
- MiniModule.cs
- Message.cs
- ProfileService.cs
- RowCache.cs
- DictionaryGlobals.cs
- DataGridColumnFloatingHeader.cs
- JavaScriptSerializer.cs