Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / TransformerInfoCollection.cs / 3 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileSystemEnumerable.cs
- ForceCopyBuildProvider.cs
- SetIterators.cs
- Image.cs
- DataDocumentXPathNavigator.cs
- TextProviderWrapper.cs
- TileBrush.cs
- AffineTransform3D.cs
- SqlOuterApplyReducer.cs
- SecurityHeader.cs
- SHA1Cng.cs
- XmlDataImplementation.cs
- DataControlFieldHeaderCell.cs
- GroupBox.cs
- JpegBitmapDecoder.cs
- SafeLocalMemHandle.cs
- XmlIgnoreAttribute.cs
- SoapAttributeOverrides.cs
- ContentOnlyMessage.cs
- RunClient.cs
- ObjectSecurityT.cs
- BamlTreeNode.cs
- SyndicationSerializer.cs
- HttpSocketManager.cs
- TiffBitmapDecoder.cs
- PropertyFilter.cs
- Encoder.cs
- CompleteWizardStep.cs
- KeyValueSerializer.cs
- SchemaTableOptionalColumn.cs
- DataGridViewCellPaintingEventArgs.cs
- DependencySource.cs
- ActivityInterfaces.cs
- RenderContext.cs
- InvalidComObjectException.cs
- FrugalList.cs
- DropShadowEffect.cs
- ListViewGroupCollectionEditor.cs
- SQLMoneyStorage.cs
- ClockGroup.cs
- DbQueryCommandTree.cs
- DrawingContextDrawingContextWalker.cs
- ValueSerializer.cs
- ExpressionContext.cs
- ClockGroup.cs
- InitializerFacet.cs
- RuleSetCollection.cs
- LinqDataSource.cs
- MatrixCamera.cs
- WebPartHelpVerb.cs
- CreationContext.cs
- ValidationSummary.cs
- ProfileGroupSettings.cs
- InvalidEnumArgumentException.cs
- InvalidWMPVersionException.cs
- Deserializer.cs
- ExponentialEase.cs
- CodeDefaultValueExpression.cs
- _ConnectOverlappedAsyncResult.cs
- CLSCompliantAttribute.cs
- DesignerSerializationVisibilityAttribute.cs
- SafeNativeMethodsOther.cs
- DataRowCollection.cs
- TemplatedWizardStep.cs
- DataGridViewRowStateChangedEventArgs.cs
- EventlogProvider.cs
- DocumentViewerHelper.cs
- TransformedBitmap.cs
- PropertyStore.cs
- XmlSerializationReader.cs
- MobileUserControl.cs
- _CacheStreams.cs
- ParagraphVisual.cs
- GradientStop.cs
- linebase.cs
- SystemColors.cs
- StringValueSerializer.cs
- BufferModesCollection.cs
- _SecureChannel.cs
- RegexBoyerMoore.cs
- AngleUtil.cs
- CommandID.cs
- AdornerDecorator.cs
- BindingExpressionUncommonField.cs
- UdpDiscoveryEndpoint.cs
- SessionStateSection.cs
- TextTreeUndoUnit.cs
- TextMarkerSource.cs
- UnionCodeGroup.cs
- FormatConvertedBitmap.cs
- AuthenticationServiceManager.cs
- ProxyElement.cs
- LayoutUtils.cs
- RawStylusActions.cs
- HelpKeywordAttribute.cs
- StaticExtension.cs
- UpdatePanelControlTrigger.cs
- ReferentialConstraint.cs
- NotImplementedException.cs
- DocumentViewerConstants.cs