Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Configuration / DeclaredTypeElementCollection.cs / 1 / DeclaredTypeElementCollection.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Runtime.Serialization.Configuration
{
using System;
using System.Configuration;
using System.Globalization;
[ConfigurationCollection(typeof(DeclaredTypeElement))]
public sealed class DeclaredTypeElementCollection : ConfigurationElementCollection
{
public DeclaredTypeElementCollection()
{
}
public DeclaredTypeElement this[int index]
{
get
{
DeclaredTypeElement retval = (DeclaredTypeElement)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 new DeclaredTypeElement this[string typeName]
{
get
{
if (String.IsNullOrEmpty(typeName))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName");
}
DeclaredTypeElement retval = (DeclaredTypeElement)BaseGet(typeName);
return retval;
}
set
{
// Only validate input if config is not Read-Only, otherwise
// let Add throw appropriate exception
if (!this.IsReadOnly())
{
if (String.IsNullOrEmpty(typeName))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName");
}
if (value == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
}
if (BaseGet(typeName) != null)
{
BaseRemove(typeName);
}
else
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new IndexOutOfRangeException(SR.GetString(SR.ConfigIndexOutOfRange,
typeName)));
}
}
Add(value);
}
}
public void Add(DeclaredTypeElement 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 bool Contains(string typeName)
{
if (String.IsNullOrEmpty(typeName))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName");
}
return this.BaseGet(typeName) != null;
}
protected override ConfigurationElement CreateNewElement()
{
DeclaredTypeElement retval = new DeclaredTypeElement();
return retval;
}
protected override Object GetElementKey(ConfigurationElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return ((DeclaredTypeElement)element).Type;
}
public int IndexOf(DeclaredTypeElement element)
{
if (element == null)
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
}
return BaseIndexOf(element);
}
public void Remove(DeclaredTypeElement 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 Remove(string typeName)
{
// Only validate input if config is not Read-Only, otherwise
// let BaseRemove throw appropriate exception
if (!this.IsReadOnly())
{
if (String.IsNullOrEmpty(typeName))
{
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("typeName");
}
}
BaseRemove(typeName);
}
public void RemoveAt(int index)
{
BaseRemoveAt(index);
}
}
}
// 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
- ViewgenContext.cs
- UnsafeNativeMethods.cs
- _CacheStreams.cs
- KnownTypeHelper.cs
- Semaphore.cs
- SEHException.cs
- DummyDataSource.cs
- StatusBarItem.cs
- OperationDescription.cs
- PerformanceCounterPermissionEntry.cs
- Serializer.cs
- RadioButton.cs
- XmlObjectSerializerReadContextComplex.cs
- TableDetailsCollection.cs
- SafeEventLogWriteHandle.cs
- XPathException.cs
- PasswordBoxAutomationPeer.cs
- EmbossBitmapEffect.cs
- ValueSerializerAttribute.cs
- NodeLabelEditEvent.cs
- FrameworkObject.cs
- _Semaphore.cs
- DataBoundControlHelper.cs
- ByteFacetDescriptionElement.cs
- EncodingDataItem.cs
- HyperLink.cs
- EventEntry.cs
- OleServicesContext.cs
- StorageRoot.cs
- TextEncodedRawTextWriter.cs
- AttributeUsageAttribute.cs
- Membership.cs
- TemplateControlCodeDomTreeGenerator.cs
- ServicePointManagerElement.cs
- ControlBuilderAttribute.cs
- ContentElement.cs
- MSAANativeProvider.cs
- DataListItem.cs
- CodeArrayCreateExpression.cs
- PriorityQueue.cs
- DomainConstraint.cs
- ProviderConnectionPointCollection.cs
- MD5.cs
- ThreadAttributes.cs
- HtmlFormAdapter.cs
- SoapTypeAttribute.cs
- XmlQuerySequence.cs
- BitmapEffectGroup.cs
- WebPartTracker.cs
- RemoteWebConfigurationHost.cs
- SqlDataSourceEnumerator.cs
- ReflectionUtil.cs
- PropertyDescriptorCollection.cs
- XPathDescendantIterator.cs
- PerspectiveCamera.cs
- ScrollItemPattern.cs
- ConfigXmlDocument.cs
- DbDataAdapter.cs
- SystemIcmpV4Statistics.cs
- Schema.cs
- Operand.cs
- BmpBitmapDecoder.cs
- ConnectionStringsExpressionBuilder.cs
- PrimaryKeyTypeConverter.cs
- UIElementIsland.cs
- LayoutEditorPart.cs
- BinaryKeyIdentifierClause.cs
- Sql8ConformanceChecker.cs
- CodeDOMProvider.cs
- DoubleAnimationClockResource.cs
- DataPagerFieldCommandEventArgs.cs
- figurelength.cs
- ReflectEventDescriptor.cs
- EnvelopeVersion.cs
- CodeAccessSecurityEngine.cs
- TraceHwndHost.cs
- FontFamilyValueSerializer.cs
- BitmapMetadataBlob.cs
- KnownBoxes.cs
- AliasedSlot.cs
- IndependentAnimationStorage.cs
- SetterBaseCollection.cs
- ClaimComparer.cs
- FontStyles.cs
- SspiNegotiationTokenAuthenticatorState.cs
- MailAddressCollection.cs
- InternalCache.cs
- SchemaHelper.cs
- ValidationVisibilityAttribute.cs
- Constraint.cs
- SoapEnumAttribute.cs
- CriticalFinalizerObject.cs
- WizardForm.cs
- GridEntry.cs
- Accessors.cs
- BindingCompleteEventArgs.cs
- Grid.cs
- BitmapEffectvisualstate.cs
- FileDialogPermission.cs
- KeyConverter.cs