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
- _KerberosClient.cs
- TextDataBindingHandler.cs
- Pens.cs
- PropertyToken.cs
- CodeBlockBuilder.cs
- DataGridSortCommandEventArgs.cs
- COM2Properties.cs
- FixUp.cs
- BidPrivateBase.cs
- StateMachine.cs
- CategoryNameCollection.cs
- Accessible.cs
- ManagedFilter.cs
- CustomDictionarySources.cs
- StatementContext.cs
- PropertyValueChangedEvent.cs
- SecurityUtils.cs
- DataFieldConverter.cs
- StylusPointDescription.cs
- Hyperlink.cs
- RegionInfo.cs
- OdbcTransaction.cs
- ThreadExceptionDialog.cs
- HMACMD5.cs
- Exception.cs
- _Semaphore.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SafeMarshalContext.cs
- HierarchicalDataSourceControl.cs
- VectorAnimationUsingKeyFrames.cs
- SystemUdpStatistics.cs
- XmlQualifiedName.cs
- ResolveCriteria.cs
- Matrix3D.cs
- BrushConverter.cs
- MethodAccessException.cs
- SystemUdpStatistics.cs
- NameValuePermission.cs
- ConfigurationLoaderException.cs
- SerializationEventsCache.cs
- ImageListUtils.cs
- TypeDescriptorContext.cs
- CommonDialog.cs
- ContentOperations.cs
- TabControlEvent.cs
- BamlLocalizableResourceKey.cs
- PostBackTrigger.cs
- AllMembershipCondition.cs
- QuadraticBezierSegment.cs
- StylusOverProperty.cs
- DetailsViewCommandEventArgs.cs
- IProvider.cs
- TailCallAnalyzer.cs
- IdentityValidationException.cs
- ConfigurationLocation.cs
- LinqTreeNodeEvaluator.cs
- Int32.cs
- AssociationSetEnd.cs
- EntityContainerAssociationSet.cs
- StringFreezingAttribute.cs
- RelationshipDetailsRow.cs
- FormattedTextSymbols.cs
- DocobjHost.cs
- ModifierKeysConverter.cs
- BigInt.cs
- XmlLinkedNode.cs
- DefaultTextStoreTextComposition.cs
- ListView.cs
- Typography.cs
- DateTimePicker.cs
- ReplyChannel.cs
- BatchParser.cs
- NativeMethods.cs
- JoinQueryOperator.cs
- HttpListenerRequest.cs
- WebBrowsableAttribute.cs
- SurrogateChar.cs
- SafeNativeMethodsOther.cs
- Tile.cs
- TextEffectResolver.cs
- StrokeIntersection.cs
- SafeMILHandle.cs
- CreateUserWizard.cs
- DefaultAsyncDataDispatcher.cs
- EasingFunctionBase.cs
- HtmlInputFile.cs
- FileDataSourceCache.cs
- Quack.cs
- OracleConnectionFactory.cs
- GatewayIPAddressInformationCollection.cs
- CalendarDateRange.cs
- DesignerAutoFormat.cs
- JapaneseCalendar.cs
- ImageField.cs
- Stacktrace.cs
- HttpCachePolicy.cs
- ControlAdapter.cs
- DefaultValueAttribute.cs
- OdbcDataAdapter.cs
- Utilities.cs