Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Configuration / TypeElementCollection.cs / 1305376 / TypeElementCollection.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime.Serialization.Configuration
{
using System;
using System.Configuration;
using System.Globalization;
[ConfigurationCollection(typeof(TypeElement), CollectionType = ConfigurationElementCollectionType.BasicMap)]
public sealed class TypeElementCollection : ConfigurationElementCollection
{
public TypeElementCollection()
{
}
public TypeElement this[int index]
{
get
{
TypeElement retval = (TypeElement)BaseGet(index);
return retval;
}
set
{
// Only validate input if config is not Read-Only, otherwise
// let BaseAdd throw appropriate exception
if (!this.IsReadOnly())
{
if (value == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
}
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
}
BaseAdd(index, value);
}
}
public void Add(TypeElement element)
{
// Only validate input if config is not Read-Only, otherwise
// let BaseAdd throw appropriate exception
if (!this.IsReadOnly())
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
}
BaseAdd(element);
}
public void Clear()
{
BaseClear();
}
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
protected override ConfigurationElement CreateNewElement()
{
TypeElement retval = new TypeElement();
return retval;
}
protected override string ElementName
{
get { return TypeElementCollection.KnownTypeConfig; }
}
protected override Object GetElementKey(ConfigurationElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return ((TypeElement)element).Key;
}
public int IndexOf(TypeElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return BaseIndexOf(element);
}
public void Remove(TypeElement element)
{
// Only validate input if config is not Read-Only, otherwise
// let BaseRemove throw appropriate exception
if (!this.IsReadOnly())
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
}
BaseRemove(this.GetElementKey(element));
}
public void RemoveAt(int index)
{
BaseRemoveAt(index);
}
const string KnownTypeConfig = "knownType";
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime.Serialization.Configuration
{
using System;
using System.Configuration;
using System.Globalization;
[ConfigurationCollection(typeof(TypeElement), CollectionType = ConfigurationElementCollectionType.BasicMap)]
public sealed class TypeElementCollection : ConfigurationElementCollection
{
public TypeElementCollection()
{
}
public TypeElement this[int index]
{
get
{
TypeElement retval = (TypeElement)BaseGet(index);
return retval;
}
set
{
// Only validate input if config is not Read-Only, otherwise
// let BaseAdd throw appropriate exception
if (!this.IsReadOnly())
{
if (value == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
}
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
}
BaseAdd(index, value);
}
}
public void Add(TypeElement element)
{
// Only validate input if config is not Read-Only, otherwise
// let BaseAdd throw appropriate exception
if (!this.IsReadOnly())
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
}
BaseAdd(element);
}
public void Clear()
{
BaseClear();
}
public override ConfigurationElementCollectionType CollectionType
{
get { return ConfigurationElementCollectionType.BasicMap; }
}
protected override ConfigurationElement CreateNewElement()
{
TypeElement retval = new TypeElement();
return retval;
}
protected override string ElementName
{
get { return TypeElementCollection.KnownTypeConfig; }
}
protected override Object GetElementKey(ConfigurationElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return ((TypeElement)element).Key;
}
public int IndexOf(TypeElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return BaseIndexOf(element);
}
public void Remove(TypeElement element)
{
// Only validate input if config is not Read-Only, otherwise
// let BaseRemove throw appropriate exception
if (!this.IsReadOnly())
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
}
BaseRemove(this.GetElementKey(element));
}
public void RemoveAt(int index)
{
BaseRemoveAt(index);
}
const string KnownTypeConfig = "knownType";
}
}
// 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
- StyleCollectionEditor.cs
- EntityContainerEntitySetDefiningQuery.cs
- TextRange.cs
- XmlAnyElementAttributes.cs
- TransformCollection.cs
- AuthorizationContext.cs
- DynamicMethod.cs
- TemplateBindingExtensionConverter.cs
- LocalizedNameDescriptionPair.cs
- UrlPropertyAttribute.cs
- TileBrush.cs
- DataGridLinkButton.cs
- ListViewItemEventArgs.cs
- Debug.cs
- DbParameterCollectionHelper.cs
- CatalogZone.cs
- SingleAnimation.cs
- Soap.cs
- EncoderNLS.cs
- COMException.cs
- DBConnection.cs
- RegionData.cs
- UnmanagedMarshal.cs
- ResourceAttributes.cs
- MetafileHeader.cs
- PerformanceCounters.cs
- ListViewUpdatedEventArgs.cs
- WebPartConnectionsConnectVerb.cs
- clipboard.cs
- OptionalMessageQuery.cs
- BaseCollection.cs
- ImageListUtils.cs
- SchemaNotation.cs
- RegionIterator.cs
- XmlSerializationReader.cs
- XXXInfos.cs
- DbCommandDefinition.cs
- CustomTokenProvider.cs
- BitmapEffectInputConnector.cs
- RuntimeIdentifierPropertyAttribute.cs
- MultiByteCodec.cs
- GenerateHelper.cs
- PeerNameResolver.cs
- WebPartAddingEventArgs.cs
- MenuItem.cs
- TemplateContentLoader.cs
- HierarchicalDataBoundControl.cs
- FixedPageAutomationPeer.cs
- StyleSheetDesigner.cs
- Button.cs
- XmlSchemaObject.cs
- XmlSerializerAssemblyAttribute.cs
- EmissiveMaterial.cs
- RuleEngine.cs
- TextContainer.cs
- TextEffectCollection.cs
- ProgressBarAutomationPeer.cs
- WindowManager.cs
- FileRegion.cs
- UpdatePanelControlTrigger.cs
- AttributeProviderAttribute.cs
- DesignTimeDataBinding.cs
- SecurityTokenAttachmentMode.cs
- WebBrowserSiteBase.cs
- MsmqIntegrationChannelListener.cs
- MessageQueuePermissionEntry.cs
- UpdatePanelControlTrigger.cs
- DataStreamFromComStream.cs
- OdbcPermission.cs
- WorkflowApplication.cs
- OperatorExpressions.cs
- Script.cs
- HandlerBase.cs
- CommandManager.cs
- OleDbErrorCollection.cs
- DataGridColumnCollection.cs
- CheckBoxBaseAdapter.cs
- ExtractCollection.cs
- ServerValidateEventArgs.cs
- Collection.cs
- DbSourceCommand.cs
- DataServiceQueryOfT.cs
- Substitution.cs
- WindowsListViewGroupHelper.cs
- SwitchCase.cs
- KeyValuePair.cs
- Rules.cs
- XmlSchemaDocumentation.cs
- TextHidden.cs
- HTMLTextWriter.cs
- ValidationSummary.cs
- ClientProxyGenerator.cs
- SystemMulticastIPAddressInformation.cs
- StringToken.cs
- CompilerErrorCollection.cs
- DataListItemCollection.cs
- configsystem.cs
- ActivityUtilities.cs
- DataGridViewLinkCell.cs
- ProtectedProviderSettings.cs