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 / TransformerInfoCollection.cs / 1 / TransformerInfoCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Configuration; using System.Collections; using System.Collections.Specialized; using System.Security.Principal; using System.Web; using System.Web.Compilation; using System.Web.Configuration; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.Util; using System.Xml; using System.Security.Permissions; [ConfigurationCollection(typeof(TransformerInfo))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TransformerInfoCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private Hashtable _transformerEntries; static TransformerInfoCollection() { _properties = new ConfigurationPropertyCollection(); } ///protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public TransformerInfo this[int index] { get { return (TransformerInfo)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } public void Add(TransformerInfo transformerInfo) { BaseAdd(transformerInfo); } public void Clear() { BaseClear(); } /// protected override ConfigurationElement CreateNewElement() { return new TransformerInfo(); } public void Remove(string s) { BaseRemove(s); } public void RemoveAt(int index) { BaseRemoveAt(index); } /// protected override object GetElementKey(ConfigurationElement element) { return ((TransformerInfo)element).Name; } internal Hashtable GetTransformerEntries() { if (_transformerEntries == null) { lock (this) { if (_transformerEntries == null) { _transformerEntries = new Hashtable(StringComparer.OrdinalIgnoreCase); foreach (TransformerInfo ti in this) { Type transformerType = ConfigUtil.GetType(ti.Type, "type", ti); if (transformerType.IsSubclassOf(typeof(WebPartTransformer)) == false) { throw new ConfigurationErrorsException( SR.GetString( SR.Type_doesnt_inherit_from_type, ti.Type, typeof(WebPartTransformer).FullName), ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } Type consumerType; Type providerType; try { consumerType = WebPartTransformerAttribute.GetConsumerType(transformerType); providerType = WebPartTransformerAttribute.GetProviderType(transformerType); } catch (Exception e) { throw new ConfigurationErrorsException( SR.GetString(SR.Transformer_attribute_error, e.Message), e, ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } if (_transformerEntries.Count != 0) { foreach (DictionaryEntry entry in _transformerEntries) { Type existingTransformerType = (Type)entry.Value; // We know these methods will not throw, because for the type to be in the transformers // collection, we must have successfully gotten the types previously without an exception. Type existingConsumerType = WebPartTransformerAttribute.GetConsumerType(existingTransformerType); Type existingProviderType = WebPartTransformerAttribute.GetProviderType(existingTransformerType); if ((consumerType == existingConsumerType) && (providerType == existingProviderType)) { throw new ConfigurationErrorsException( SR.GetString( SR.Transformer_types_already_added, (string)entry.Key, ti.Name), ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } } } _transformerEntries[ti.Name] = transformerType; } } } } // return _transformerEntries; } } } // 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.Configuration; using System.Collections; using System.Collections.Specialized; using System.Security.Principal; using System.Web; using System.Web.Compilation; using System.Web.Configuration; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.Util; using System.Xml; using System.Security.Permissions; [ConfigurationCollection(typeof(TransformerInfo))] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class TransformerInfoCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private Hashtable _transformerEntries; static TransformerInfoCollection() { _properties = new ConfigurationPropertyCollection(); } ///protected override ConfigurationPropertyCollection Properties { get { return _properties; } } public TransformerInfo this[int index] { get { return (TransformerInfo)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } public void Add(TransformerInfo transformerInfo) { BaseAdd(transformerInfo); } public void Clear() { BaseClear(); } /// protected override ConfigurationElement CreateNewElement() { return new TransformerInfo(); } public void Remove(string s) { BaseRemove(s); } public void RemoveAt(int index) { BaseRemoveAt(index); } /// protected override object GetElementKey(ConfigurationElement element) { return ((TransformerInfo)element).Name; } internal Hashtable GetTransformerEntries() { if (_transformerEntries == null) { lock (this) { if (_transformerEntries == null) { _transformerEntries = new Hashtable(StringComparer.OrdinalIgnoreCase); foreach (TransformerInfo ti in this) { Type transformerType = ConfigUtil.GetType(ti.Type, "type", ti); if (transformerType.IsSubclassOf(typeof(WebPartTransformer)) == false) { throw new ConfigurationErrorsException( SR.GetString( SR.Type_doesnt_inherit_from_type, ti.Type, typeof(WebPartTransformer).FullName), ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } Type consumerType; Type providerType; try { consumerType = WebPartTransformerAttribute.GetConsumerType(transformerType); providerType = WebPartTransformerAttribute.GetProviderType(transformerType); } catch (Exception e) { throw new ConfigurationErrorsException( SR.GetString(SR.Transformer_attribute_error, e.Message), e, ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } if (_transformerEntries.Count != 0) { foreach (DictionaryEntry entry in _transformerEntries) { Type existingTransformerType = (Type)entry.Value; // We know these methods will not throw, because for the type to be in the transformers // collection, we must have successfully gotten the types previously without an exception. Type existingConsumerType = WebPartTransformerAttribute.GetConsumerType(existingTransformerType); Type existingProviderType = WebPartTransformerAttribute.GetProviderType(existingTransformerType); if ((consumerType == existingConsumerType) && (providerType == existingProviderType)) { throw new ConfigurationErrorsException( SR.GetString( SR.Transformer_types_already_added, (string)entry.Key, ti.Name), ti.ElementInformation.Properties["type"].Source, ti.ElementInformation.Properties["type"].LineNumber); } } } _transformerEntries[ti.Name] = transformerType; } } } } // return _transformerEntries; } } } // 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
- RestHandler.cs
- SettingsPropertyWrongTypeException.cs
- FtpCachePolicyElement.cs
- RectangleConverter.cs
- objectresult_tresulttype.cs
- VisualState.cs
- RecommendedAsConfigurableAttribute.cs
- WsatRegistrationHeader.cs
- MemoryMappedViewAccessor.cs
- WindowsEditBox.cs
- GlyphRunDrawing.cs
- DesignTimeXamlWriter.cs
- RectangleConverter.cs
- PageScaling.cs
- CompletionCallbackWrapper.cs
- Size3D.cs
- UnsafeNativeMethods.cs
- AutomationProperties.cs
- HttpCacheVary.cs
- ClassImporter.cs
- XPathSingletonIterator.cs
- DetailsViewInsertedEventArgs.cs
- RemotingException.cs
- AnnotationService.cs
- SqlCacheDependencyDatabase.cs
- UrlMappingsModule.cs
- XmlConverter.cs
- ProxyWebPart.cs
- UnsafeNativeMethods.cs
- HttpChannelHelper.cs
- MsmqChannelFactory.cs
- SystemUnicastIPAddressInformation.cs
- TransactionWaitAsyncResult.cs
- FtpWebRequest.cs
- CertificateReferenceElement.cs
- SerializationException.cs
- MachineKeySection.cs
- ListViewGroupItemCollection.cs
- OutputCacheSection.cs
- XmlSchemaExporter.cs
- SerializationHelper.cs
- InlineObject.cs
- BackgroundFormatInfo.cs
- QilTargetType.cs
- ParameterCollectionEditorForm.cs
- DocumentOrderComparer.cs
- IdentityNotMappedException.cs
- IIS7WorkerRequest.cs
- BitmapData.cs
- SiteMapDataSourceDesigner.cs
- AutomationElement.cs
- DefaultValueAttribute.cs
- PointCollection.cs
- MissingMethodException.cs
- PerformanceCounterCategory.cs
- CompModSwitches.cs
- AdPostCacheSubstitution.cs
- DescriptionAttribute.cs
- Menu.cs
- PointAnimation.cs
- DataGridClipboardHelper.cs
- CheckPair.cs
- IMembershipProvider.cs
- CollectionBuilder.cs
- DataGridClipboardCellContent.cs
- TypeLoadException.cs
- VirtualPathUtility.cs
- XmlLangPropertyAttribute.cs
- QuaternionRotation3D.cs
- IISUnsafeMethods.cs
- ProgramNode.cs
- MultiView.cs
- X509CertificateChain.cs
- DriveInfo.cs
- RouteParametersHelper.cs
- DeferredRunTextReference.cs
- wpf-etw.cs
- ByteAnimationBase.cs
- CodeSnippetStatement.cs
- Iis7Helper.cs
- HealthMonitoringSectionHelper.cs
- RotateTransform3D.cs
- SpellerInterop.cs
- TypefaceCollection.cs
- RtType.cs
- EncoderFallback.cs
- CheckBoxFlatAdapter.cs
- DataList.cs
- DefaultHttpHandler.cs
- SortQuery.cs
- SizeValueSerializer.cs
- DetectRunnableInstancesTask.cs
- StateInitializationDesigner.cs
- HttpResponseInternalWrapper.cs
- BaseParaClient.cs
- SignedPkcs7.cs
- X509WindowsSecurityToken.cs
- Effect.cs
- ListDictionary.cs
- SerialPinChanges.cs