Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- CounterCreationDataCollection.cs
- OletxTransactionManager.cs
- EventWaitHandle.cs
- DataGridColumnCollectionEditor.cs
- FileDocument.cs
- recordstate.cs
- UICuesEvent.cs
- ExpandCollapsePattern.cs
- Message.cs
- Imaging.cs
- TextAutomationPeer.cs
- HttpContextServiceHost.cs
- SystemIcons.cs
- HasRunnableWorkflowEvent.cs
- GifBitmapDecoder.cs
- MbpInfo.cs
- EpmSyndicationContentSerializer.cs
- InvokeMethod.cs
- HttpHandlersSection.cs
- DbMetaDataFactory.cs
- SqlDataSourceCustomCommandEditor.cs
- ProjectionPruner.cs
- elementinformation.cs
- CorrelationKey.cs
- ButtonChrome.cs
- SelectionEditor.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- ParenthesizePropertyNameAttribute.cs
- PresentationUIStyleResources.cs
- PeerInvitationResponse.cs
- Claim.cs
- EllipseGeometry.cs
- MsmqMessage.cs
- WorkflowServiceBehavior.cs
- DataGridViewColumnTypePicker.cs
- LiteralControl.cs
- MulticastDelegate.cs
- BrowserInteropHelper.cs
- Helper.cs
- SettingsPropertyIsReadOnlyException.cs
- securitycriticaldataformultiplegetandset.cs
- DynamicField.cs
- TableCell.cs
- LZCodec.cs
- StorageTypeMapping.cs
- DynamicContractTypeBuilder.cs
- RoamingStoreFileUtility.cs
- EndOfStreamException.cs
- MatrixValueSerializer.cs
- HtmlTableRowCollection.cs
- TextSpanModifier.cs
- TextViewDesigner.cs
- MeshGeometry3D.cs
- Char.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- SoapSchemaImporter.cs
- SafeCloseHandleCritical.cs
- FlowDocumentPageViewerAutomationPeer.cs
- CompositeDesignerAccessibleObject.cs
- XmlAggregates.cs
- BitmapEffectGroup.cs
- RootBrowserWindow.cs
- METAHEADER.cs
- MLangCodePageEncoding.cs
- XmlNodeList.cs
- EntityDataSourceContextCreatingEventArgs.cs
- MgmtConfigurationRecord.cs
- StrongNameKeyPair.cs
- ButtonBaseDesigner.cs
- DivideByZeroException.cs
- SqlPersonalizationProvider.cs
- BindingExpressionBase.cs
- Journaling.cs
- PropertyChangeTracker.cs
- SupportingTokenParameters.cs
- PartManifestEntry.cs
- QilFunction.cs
- SortAction.cs
- JapaneseCalendar.cs
- TextServicesContext.cs
- GifBitmapDecoder.cs
- CursorConverter.cs
- shaperfactoryquerycacheentry.cs
- ManipulationPivot.cs
- PropertyEntry.cs
- WriteStateInfoBase.cs
- ProtocolReflector.cs
- TextProviderWrapper.cs
- XhtmlBasicFormAdapter.cs
- StickyNoteContentControl.cs
- SmiEventSink_Default.cs
- TextEffect.cs
- ClientData.cs
- QuaternionKeyFrameCollection.cs
- PictureBox.cs
- PhonemeConverter.cs
- BooleanExpr.cs
- VectorValueSerializer.cs
- ValidationPropertyAttribute.cs
- InvalidProgramException.cs