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
- PageParserFilter.cs
- Slider.cs
- PasswordRecovery.cs
- RotateTransform.cs
- FreezableCollection.cs
- XPathEmptyIterator.cs
- ListSourceHelper.cs
- CroppedBitmap.cs
- SQLSingle.cs
- IndexedEnumerable.cs
- XmlAttributeOverrides.cs
- ServerIdentity.cs
- SmtpAuthenticationManager.cs
- BrowserInteropHelper.cs
- ClosableStream.cs
- ValueUnavailableException.cs
- KeyedHashAlgorithm.cs
- CompilerScope.Storage.cs
- InlineUIContainer.cs
- UnsupportedPolicyOptionsException.cs
- PrimaryKeyTypeConverter.cs
- FormCollection.cs
- ThreadStateException.cs
- ButtonBaseAutomationPeer.cs
- Guid.cs
- SmiConnection.cs
- UniformGrid.cs
- BaseEntityWrapper.cs
- StringOutput.cs
- DataServiceRequest.cs
- IgnoreSection.cs
- NavigateEvent.cs
- _LocalDataStoreMgr.cs
- SafeNativeMethods.cs
- ExecutionPropertyManager.cs
- XmlSchemaRedefine.cs
- WindowsClientCredential.cs
- FieldDescriptor.cs
- GuidelineCollection.cs
- ConfigurationPropertyAttribute.cs
- PersonalizationStateInfo.cs
- ExpressionPrefixAttribute.cs
- DispatcherProcessingDisabled.cs
- JoinTreeSlot.cs
- StoreUtilities.cs
- QueueAccessMode.cs
- ScriptManager.cs
- AuthenticationException.cs
- CompiledScopeCriteria.cs
- TableRow.cs
- XmlNodeChangedEventManager.cs
- HttpWebResponse.cs
- TrackBar.cs
- DataViewSettingCollection.cs
- DataRecord.cs
- ToolboxDataAttribute.cs
- ContentDisposition.cs
- Visitors.cs
- DoubleAnimationUsingKeyFrames.cs
- SettingsSavedEventArgs.cs
- AnyAllSearchOperator.cs
- TextSelectionHelper.cs
- TypeToTreeConverter.cs
- InstallerTypeAttribute.cs
- AutoGeneratedField.cs
- AVElementHelper.cs
- Normalization.cs
- MailAddress.cs
- Stroke.cs
- AnimationClockResource.cs
- TemplatePagerField.cs
- Label.cs
- dbdatarecord.cs
- ObjectQuery.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- WebServiceMethodData.cs
- VisualBrush.cs
- ProgressBarAutomationPeer.cs
- TreeViewEvent.cs
- WindowsSpinner.cs
- SelectingProviderEventArgs.cs
- PartitionResolver.cs
- TaskResultSetter.cs
- Version.cs
- SimpleWorkerRequest.cs
- ControlAdapter.cs
- UiaCoreApi.cs
- MultiBinding.cs
- QuotaExceededException.cs
- ArglessEventHandlerProxy.cs
- TransportSecurityBindingElement.cs
- ServerIdentity.cs
- GroupQuery.cs
- FamilyTypeface.cs
- FilterQuery.cs
- AttributeCollection.cs
- SafeLocalAllocation.cs
- CollectionConverter.cs
- RowParagraph.cs
- Vector3DConverter.cs