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
- EllipseGeometry.cs
- HMACSHA512.cs
- XmlDataCollection.cs
- ChangeDirector.cs
- ContentOnlyMessage.cs
- FormViewPagerRow.cs
- AttributeTable.cs
- SqlDataSourceQueryEditorForm.cs
- mediaeventshelper.cs
- KeysConverter.cs
- NullExtension.cs
- SQLResource.cs
- DependencyPropertyKey.cs
- PhysicalFontFamily.cs
- RenderOptions.cs
- RuleSettings.cs
- MbpInfo.cs
- LinqMaximalSubtreeNominator.cs
- SelectedDatesCollection.cs
- OutputWindow.cs
- NonVisualControlAttribute.cs
- TextEmbeddedObject.cs
- UriWriter.cs
- TextBreakpoint.cs
- BitmapPalettes.cs
- SafeFreeMibTable.cs
- ProfileSection.cs
- connectionpool.cs
- CheckBox.cs
- NegotiationTokenProvider.cs
- XmlSchemaSimpleType.cs
- SponsorHelper.cs
- StyleCollectionEditor.cs
- ReadOnlyDataSource.cs
- TokenBasedSet.cs
- ObfuscateAssemblyAttribute.cs
- ForceCopyBuildProvider.cs
- InstanceKeyView.cs
- WebReferencesBuildProvider.cs
- ClaimComparer.cs
- ReadOnlyCollectionBase.cs
- _LazyAsyncResult.cs
- SqlNode.cs
- XPathNodeIterator.cs
- SizeAnimationUsingKeyFrames.cs
- SqlClientFactory.cs
- SqlWorkflowPersistenceService.cs
- ConstrainedDataObject.cs
- ViewKeyConstraint.cs
- CodeThrowExceptionStatement.cs
- SelectedDatesCollection.cs
- DataSourceSelectArguments.cs
- StringUtil.cs
- WindowsIPAddress.cs
- MulticastDelegate.cs
- SignatureDescription.cs
- StoreAnnotationsMap.cs
- DataGridTableCollection.cs
- KnownTypesHelper.cs
- FontStyle.cs
- WindowVisualStateTracker.cs
- InstalledVoice.cs
- DataSourceHelper.cs
- BindingContext.cs
- CompModSwitches.cs
- ITreeGenerator.cs
- ScrollBarAutomationPeer.cs
- UnsafeNativeMethods.cs
- Matrix.cs
- ColumnHeaderConverter.cs
- TraceUtility.cs
- DBDataPermission.cs
- SecurityValidationBehavior.cs
- TraceUtility.cs
- DiagnosticTraceRecords.cs
- BasicCellRelation.cs
- MessageDroppedTraceRecord.cs
- HwndTarget.cs
- SelectorItemAutomationPeer.cs
- XPathDocumentIterator.cs
- KeyConstraint.cs
- VersionConverter.cs
- InvalidWorkflowException.cs
- BitStream.cs
- ExceptionUtility.cs
- _Semaphore.cs
- FontEditor.cs
- MetabaseSettingsIis7.cs
- CodeTypeParameter.cs
- Pen.cs
- CharacterHit.cs
- AppSettingsReader.cs
- DictionaryBase.cs
- SqlConnectionString.cs
- TimelineCollection.cs
- PageVisual.cs
- invalidudtexception.cs
- ImportFileRequest.cs
- DesignerDeviceConfig.cs
- FactoryGenerator.cs