Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / ExtensionElementCollection.cs / 1 / ExtensionElementCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.Configuration; [ConfigurationCollection(typeof(ExtensionElement), CollectionType = ConfigurationElementCollectionType.BasicMap)] public class ExtensionElementCollection : ServiceModelConfigurationElementCollection{ public ExtensionElementCollection() : base(ConfigurationElementCollectionType.BasicMap, ConfigurationStrings.Add) { } protected override void BaseAdd(ConfigurationElement element) { this.EnforceUniqueElement((ExtensionElement)element); base.BaseAdd(element); } protected override void BaseAdd(int index, ConfigurationElement element) { this.EnforceUniqueElement((ExtensionElement)element); base.BaseAdd(index, element); } protected override object GetElementKey(ConfigurationElement element) { if (null == element) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element"); } ExtensionElement configElementKey = (ExtensionElement) element; return configElementKey.Name; } void EnforceUniqueElement(ExtensionElement element) { Type elementType = Type.GetType(element.Type, false); foreach (ExtensionElement extension in this) { if (element.Name.Equals(extension.Name, StringComparison.Ordinal)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigDuplicateExtensionName, element.Name))); } if (null != elementType) { if (elementType.Equals(Type.GetType(extension.Type, false))) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigDuplicateExtensionType, element.Type))); } } else { if (element.Type.Equals(extension.Type, StringComparison.OrdinalIgnoreCase)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigDuplicateExtensionType, element.Type))); } } } } protected override bool ThrowOnDuplicate { get { return true; } } } } // 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
- SessionPageStateSection.cs
- ObjectHandle.cs
- BaseUriHelper.cs
- OutputCacheProfileCollection.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- Schema.cs
- LinqDataSourceValidationException.cs
- ListBoxItem.cs
- PathSegment.cs
- XPathDescendantIterator.cs
- PropagatorResult.cs
- SessionStateUtil.cs
- translator.cs
- ServicePointManager.cs
- HttpCacheVary.cs
- ToolboxItemLoader.cs
- ThreadStartException.cs
- StylusEditingBehavior.cs
- VolatileEnlistmentMultiplexing.cs
- PrincipalPermission.cs
- ErrorHandler.cs
- CodeAttributeArgument.cs
- TableDetailsRow.cs
- TreeWalkHelper.cs
- CodeIdentifiers.cs
- Font.cs
- WriteTimeStream.cs
- ProcessModelInfo.cs
- DockAndAnchorLayout.cs
- CaseExpr.cs
- SystemParameters.cs
- SettingsBindableAttribute.cs
- ProfileEventArgs.cs
- DoubleUtil.cs
- DataTransferEventArgs.cs
- WriteTimeStream.cs
- EntryWrittenEventArgs.cs
- MissingMethodException.cs
- CorrelationActionMessageFilter.cs
- SudsParser.cs
- EnumValAlphaComparer.cs
- WhileDesigner.cs
- InputQueue.cs
- GridItem.cs
- HelpProvider.cs
- TokenCreationParameter.cs
- SqlNotificationRequest.cs
- relpropertyhelper.cs
- TypeResolver.cs
- ConfigurationValidatorBase.cs
- AppLevelCompilationSectionCache.cs
- Variant.cs
- XmlSchemaValidationException.cs
- GlyphRunDrawing.cs
- BaseDataListComponentEditor.cs
- TextElement.cs
- _RequestCacheProtocol.cs
- RelatedPropertyManager.cs
- PropertyEntry.cs
- DbProviderSpecificTypePropertyAttribute.cs
- TimeSpanOrInfiniteConverter.cs
- ListDictionary.cs
- CodeVariableReferenceExpression.cs
- dbenumerator.cs
- WebBrowserUriTypeConverter.cs
- NavigationWindow.cs
- MarkerProperties.cs
- HashCoreRequest.cs
- PreviewPageInfo.cs
- FontStretches.cs
- InternalPermissions.cs
- WebPartMenuStyle.cs
- shaperfactory.cs
- Delegate.cs
- AnnotationDocumentPaginator.cs
- AttributeSetAction.cs
- DiscoveryClientDuplexChannel.cs
- WindowHideOrCloseTracker.cs
- DurableOperationContext.cs
- GroupBoxRenderer.cs
- AutomationProperties.cs
- exports.cs
- GeometryHitTestResult.cs
- HttpVersion.cs
- MouseCaptureWithinProperty.cs
- MenuStrip.cs
- EntityModelBuildProvider.cs
- __ConsoleStream.cs
- DNS.cs
- ConsumerConnectionPoint.cs
- QueueProcessor.cs
- EntityDataSourceSelectedEventArgs.cs
- PolicyChain.cs
- ToolBarButtonClickEvent.cs
- SecuritySessionClientSettings.cs
- WorkflowEventArgs.cs
- DurationConverter.cs
- FunctionImportMapping.cs
- PackWebRequest.cs
- Binding.cs