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 / Configuration / TagMapCollection.cs / 1 / TagMapCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Web.Util; using System.Web.UI; using System.Web.Compilation; using System.Threading; using System.Web.Configuration; using System.Security.Permissions; [ConfigurationCollection(typeof(TagMapInfo))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TagMapCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private Hashtable _tagMappings; static TagMapCollection() { // Property initialization _properties = new ConfigurationPropertyCollection(); } public TagMapCollection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public TagMapInfo this[int index] { get { return (TagMapInfo)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } public void Add(TagMapInfo tagMapInformation) { BaseAdd(tagMapInformation); } public void Remove(TagMapInfo tagMapInformation) { BaseRemove(GetElementKey(tagMapInformation)); } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new TagMapInfo(); } protected override Object GetElementKey(ConfigurationElement element) { return ((TagMapInfo)element).TagType; } internal Hashtable TagTypeMappingInternal { get { if (_tagMappings == null) { lock (this) { if (_tagMappings == null) { Hashtable tagMappings = new Hashtable(StringComparer.OrdinalIgnoreCase); foreach (TagMapInfo tmi in this) { Type tagType = ConfigUtil.GetType(tmi.TagType, "tagType", tmi); Type mappedTagType = ConfigUtil.GetType(tmi.MappedTagType, "mappedTagType", tmi); if (tagType.IsAssignableFrom(mappedTagType) == false) { throw new ConfigurationErrorsException( SR.GetString( SR.Mapped_type_must_inherit, tmi.MappedTagType, tmi.TagType), tmi.ElementInformation.Properties["mappedTagType"].Source, tmi.ElementInformation.Properties["mappedTagType"].LineNumber); } tagMappings[tagType] = mappedTagType; } _tagMappings = tagMappings; } } } return _tagMappings; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Web.Util; using System.Web.UI; using System.Web.Compilation; using System.Threading; using System.Web.Configuration; using System.Security.Permissions; [ConfigurationCollection(typeof(TagMapInfo))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TagMapCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private Hashtable _tagMappings; static TagMapCollection() { // Property initialization _properties = new ConfigurationPropertyCollection(); } public TagMapCollection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public TagMapInfo this[int index] { get { return (TagMapInfo)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } public void Add(TagMapInfo tagMapInformation) { BaseAdd(tagMapInformation); } public void Remove(TagMapInfo tagMapInformation) { BaseRemove(GetElementKey(tagMapInformation)); } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new TagMapInfo(); } protected override Object GetElementKey(ConfigurationElement element) { return ((TagMapInfo)element).TagType; } internal Hashtable TagTypeMappingInternal { get { if (_tagMappings == null) { lock (this) { if (_tagMappings == null) { Hashtable tagMappings = new Hashtable(StringComparer.OrdinalIgnoreCase); foreach (TagMapInfo tmi in this) { Type tagType = ConfigUtil.GetType(tmi.TagType, "tagType", tmi); Type mappedTagType = ConfigUtil.GetType(tmi.MappedTagType, "mappedTagType", tmi); if (tagType.IsAssignableFrom(mappedTagType) == false) { throw new ConfigurationErrorsException( SR.GetString( SR.Mapped_type_must_inherit, tmi.MappedTagType, tmi.TagType), tmi.ElementInformation.Properties["mappedTagType"].Source, tmi.ElementInformation.Properties["mappedTagType"].LineNumber); } tagMappings[tagType] = mappedTagType; } _tagMappings = tagMappings; } } } return _tagMappings; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DateTimeSerializationSection.cs
- DataSourceProvider.cs
- BitHelper.cs
- EntityCommandDefinition.cs
- TextRange.cs
- MouseBinding.cs
- HwndMouseInputProvider.cs
- ToolTipAutomationPeer.cs
- SupportingTokenListenerFactory.cs
- tooltip.cs
- Base64WriteStateInfo.cs
- DocumentOrderQuery.cs
- BoundField.cs
- SystemColorTracker.cs
- WmlFormAdapter.cs
- BamlLocalizationDictionary.cs
- MailMessageEventArgs.cs
- QueryPrefixOp.cs
- BitmapEffectGeneralTransform.cs
- WebEvents.cs
- SchemaNotation.cs
- SHA1Managed.cs
- SQLStringStorage.cs
- TypeName.cs
- IdentityReference.cs
- ProgressBarHighlightConverter.cs
- MemoryMappedFileSecurity.cs
- ConfigPathUtility.cs
- ErrorStyle.cs
- GPRECT.cs
- DiscreteKeyFrames.cs
- WindowsPen.cs
- RewritingProcessor.cs
- RestrictedTransactionalPackage.cs
- RadioButtonList.cs
- XmlFormatWriterGenerator.cs
- BulletedList.cs
- UnitySerializationHolder.cs
- Globals.cs
- SqlErrorCollection.cs
- StreamGeometryContext.cs
- SignatureDescription.cs
- SafeBuffer.cs
- MembershipUser.cs
- XmlQueryCardinality.cs
- DataBoundLiteralControl.cs
- CalendarDayButton.cs
- IdentitySection.cs
- FileDialogCustomPlace.cs
- Int16Storage.cs
- BaseCollection.cs
- DataControlField.cs
- propertytag.cs
- XPathNodeHelper.cs
- EntityStoreSchemaGenerator.cs
- CommonDialog.cs
- Internal.cs
- ReferenceSchema.cs
- WorkflowRuntime.cs
- HttpHandlersSection.cs
- CodeDirectiveCollection.cs
- HtmlMeta.cs
- DataGridViewColumnCollection.cs
- ColumnBinding.cs
- HierarchicalDataBoundControl.cs
- UInt16.cs
- PathStreamGeometryContext.cs
- CssClassPropertyAttribute.cs
- Journal.cs
- StrongNameIdentityPermission.cs
- DocumentViewerHelper.cs
- ProgramPublisher.cs
- Root.cs
- CodeTypeDelegate.cs
- DataGridViewButtonCell.cs
- UnsafeCollabNativeMethods.cs
- RunInstallerAttribute.cs
- DiscoveryEndpoint.cs
- DataProtection.cs
- Random.cs
- BlockUIContainer.cs
- SafeUserTokenHandle.cs
- DragDeltaEventArgs.cs
- ClaimComparer.cs
- CustomError.cs
- ReflectionTypeLoadException.cs
- RecordManager.cs
- SrgsRulesCollection.cs
- WindowsSecurityToken.cs
- FontNameEditor.cs
- DataGridItemEventArgs.cs
- HttpException.cs
- OdbcException.cs
- CompositeActivityCodeGenerator.cs
- BasicHttpSecurityMode.cs
- ClientRuntimeConfig.cs
- NullRuntimeConfig.cs
- PingOptions.cs
- GridViewPageEventArgs.cs
- ViewPort3D.cs