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
- SemaphoreFullException.cs
- ToolStripComboBox.cs
- FrameworkRichTextComposition.cs
- VerificationAttribute.cs
- InternalCompensate.cs
- WebPartConnectionsEventArgs.cs
- FormsAuthenticationModule.cs
- SimpleRecyclingCache.cs
- IntSecurity.cs
- FontStyles.cs
- DbParameterCollection.cs
- TextOptions.cs
- TabControl.cs
- WindowsClaimSet.cs
- CompositeControl.cs
- _FtpDataStream.cs
- Exception.cs
- CustomError.cs
- SqlLiftIndependentRowExpressions.cs
- ExtractorMetadata.cs
- XmlSerializationGeneratedCode.cs
- XmlSchemaValidationException.cs
- BufferedStream.cs
- RangeBaseAutomationPeer.cs
- EnvironmentPermission.cs
- Transform.cs
- RegexCharClass.cs
- GridItemPattern.cs
- SqlRetyper.cs
- CustomErrorsSectionWrapper.cs
- IODescriptionAttribute.cs
- HttpWebRequest.cs
- DiscriminatorMap.cs
- Screen.cs
- SecurityToken.cs
- NamedElement.cs
- Aes.cs
- TimeSpanConverter.cs
- IPCCacheManager.cs
- TransactionFlowAttribute.cs
- AttachedAnnotation.cs
- ParserContext.cs
- RuntimeArgument.cs
- WmpBitmapDecoder.cs
- XmlWriterSettings.cs
- WorkItem.cs
- PageParserFilter.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- sqlnorm.cs
- WindowsScrollBar.cs
- EntityParameterCollection.cs
- Crc32Helper.cs
- TemplateControlBuildProvider.cs
- PageThemeCodeDomTreeGenerator.cs
- LinkedList.cs
- SchemaDeclBase.cs
- ContentFilePart.cs
- Brushes.cs
- StringConverter.cs
- SecurityState.cs
- ConstantCheck.cs
- SemanticBasicElement.cs
- DebugHandleTracker.cs
- Enum.cs
- GC.cs
- TemplateBuilder.cs
- TypeDependencyAttribute.cs
- RadioButtonStandardAdapter.cs
- SpotLight.cs
- XPathCompileException.cs
- GeneralTransform.cs
- AuthenticationSection.cs
- SqlProcedureAttribute.cs
- SwitchElementsCollection.cs
- PassportPrincipal.cs
- Registry.cs
- MenuCommands.cs
- CancelEventArgs.cs
- DesignerRegion.cs
- XmlElement.cs
- FixedTextBuilder.cs
- X509Certificate2Collection.cs
- ColorInterpolationModeValidation.cs
- SQLMoneyStorage.cs
- PeerInputChannel.cs
- MainMenu.cs
- ValueTypeFixupInfo.cs
- PEFileEvidenceFactory.cs
- EpmHelper.cs
- TrackingAnnotationCollection.cs
- ReadOnlyTernaryTree.cs
- EventLog.cs
- HandleTable.cs
- ToolBarOverflowPanel.cs
- TraceListeners.cs
- DeviceSpecificDesigner.cs
- ConnectionProviderAttribute.cs
- TraceContext.cs
- ToolStripSettings.cs
- TemplateAction.cs