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
- StringValidatorAttribute.cs
- EventLogException.cs
- TypeHelpers.cs
- ToolStripPanelCell.cs
- UpdateTracker.cs
- ReaderWriterLock.cs
- SchemaMapping.cs
- SuppressMessageAttribute.cs
- LayoutTable.cs
- SyndicationSerializer.cs
- TrackingProfileCache.cs
- DBDataPermissionAttribute.cs
- CompilerParameters.cs
- PolyLineSegmentFigureLogic.cs
- SizeAnimationBase.cs
- DynamicField.cs
- ScriptDescriptor.cs
- IdentifierService.cs
- RegisteredHiddenField.cs
- Package.cs
- TextChange.cs
- TextPattern.cs
- QueryCacheKey.cs
- HttpCookiesSection.cs
- FactoryRecord.cs
- WebPartEditVerb.cs
- CngAlgorithm.cs
- MarginCollapsingState.cs
- _ChunkParse.cs
- XmlToDatasetMap.cs
- EventDescriptor.cs
- Cursor.cs
- WindowsListViewScroll.cs
- ElementNotEnabledException.cs
- DataGridViewRowPostPaintEventArgs.cs
- GAC.cs
- TreeViewCancelEvent.cs
- Int32AnimationBase.cs
- XmlElementCollection.cs
- ExpressionWriter.cs
- WebPartMinimizeVerb.cs
- ExecutedRoutedEventArgs.cs
- StringCollection.cs
- ContextMenuStripGroupCollection.cs
- WindowsImpersonationContext.cs
- PasswordPropertyTextAttribute.cs
- UpdateException.cs
- ControlIdConverter.cs
- MethodBuilder.cs
- BuilderElements.cs
- SqlWorkflowPersistenceService.cs
- XPathPatternParser.cs
- TrustVersion.cs
- HttpDebugHandler.cs
- ColumnResizeAdorner.cs
- AssemblyBuilderData.cs
- EventlogProvider.cs
- XmlNode.cs
- StrokeFIndices.cs
- OrderingQueryOperator.cs
- CategoryAttribute.cs
- PrintDocument.cs
- PriorityBinding.cs
- followingsibling.cs
- ExtendedProtectionPolicy.cs
- ClientApiGenerator.cs
- IndexerNameAttribute.cs
- DynamicValidatorEventArgs.cs
- SafeWaitHandle.cs
- SystemIPAddressInformation.cs
- InstallerTypeAttribute.cs
- SafePEFileHandle.cs
- MatrixTransform.cs
- Error.cs
- ProviderException.cs
- HttpErrorTraceRecord.cs
- ToolStripSystemRenderer.cs
- TextBlockAutomationPeer.cs
- odbcmetadatacolumnnames.cs
- CommonProperties.cs
- CurrentTimeZone.cs
- TypefaceMetricsCache.cs
- XmlAttributeCollection.cs
- EventData.cs
- ExtensionSurface.cs
- WeakReadOnlyCollection.cs
- SerializationException.cs
- UTF7Encoding.cs
- AssertSection.cs
- PathNode.cs
- SQLStringStorage.cs
- Visitor.cs
- ExportException.cs
- Grid.cs
- AssemblyResourceLoader.cs
- InternalCache.cs
- LinkClickEvent.cs
- ConsumerConnectionPoint.cs
- DataGridCell.cs
- DescendantQuery.cs