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
- ArraySortHelper.cs
- EventPrivateKey.cs
- ConfigXmlComment.cs
- TypeBrowser.xaml.cs
- RsaSecurityTokenAuthenticator.cs
- SqlFlattener.cs
- CompositeTypefaceMetrics.cs
- TextReader.cs
- MultiSelector.cs
- OneToOneMappingSerializer.cs
- StoreUtilities.cs
- XmlSchemaAttributeGroupRef.cs
- InputScopeAttribute.cs
- FramingFormat.cs
- MenuDesigner.cs
- QueryNode.cs
- latinshape.cs
- CheckBoxBaseAdapter.cs
- XPathNavigatorKeyComparer.cs
- OpCopier.cs
- DataGridSortCommandEventArgs.cs
- NullReferenceException.cs
- ProtocolViolationException.cs
- DataControlButton.cs
- AccessibleObject.cs
- CalendarDateRange.cs
- CounterCreationData.cs
- EmissiveMaterial.cs
- ProxyAssemblyNotLoadedException.cs
- ObjectDataSourceChooseTypePanel.cs
- SamlEvidence.cs
- AngleUtil.cs
- ErrorRuntimeConfig.cs
- RichTextBox.cs
- DynamicRenderer.cs
- VisualBasicImportReference.cs
- FormsAuthenticationUser.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ImpersonateTokenRef.cs
- ListControlConvertEventArgs.cs
- AssemblyName.cs
- BitmapInitialize.cs
- ZipQueryOperator.cs
- Signature.cs
- XomlDesignerLoader.cs
- ToolStripSeparator.cs
- PrincipalPermission.cs
- FilterQuery.cs
- OutputCache.cs
- KeyValueConfigurationElement.cs
- SymbolType.cs
- Win32.cs
- CodeGeneratorAttribute.cs
- UInt32Storage.cs
- UiaCoreProviderApi.cs
- HttpValueCollection.cs
- StringUtil.cs
- NativeWindow.cs
- indexingfiltermarshaler.cs
- GridViewAutomationPeer.cs
- HMACSHA384.cs
- BypassElement.cs
- ProfileBuildProvider.cs
- OperandQuery.cs
- Converter.cs
- HttpHandlerAction.cs
- MasterPageParser.cs
- ObsoleteAttribute.cs
- IntranetCredentialPolicy.cs
- WorkflowIdleBehavior.cs
- Mapping.cs
- DeviceSpecificDialogCachedState.cs
- CuspData.cs
- SessionParameter.cs
- RsaSecurityToken.cs
- RowParagraph.cs
- XmlRawWriter.cs
- AutoResizedEvent.cs
- HtmlInputSubmit.cs
- PenLineJoinValidation.cs
- Form.cs
- COAUTHIDENTITY.cs
- EditorOptionAttribute.cs
- XPathQueryGenerator.cs
- ToolStripButton.cs
- RetrieveVirtualItemEventArgs.cs
- CompressionTracing.cs
- ReadOnlyAttribute.cs
- ConfigXmlText.cs
- TagElement.cs
- login.cs
- MsmqInputChannelListener.cs
- NavigationExpr.cs
- GeometryGroup.cs
- SmiContextFactory.cs
- __ComObject.cs
- ConstraintEnumerator.cs
- PaintEvent.cs
- AdornedElementPlaceholder.cs
- CalendarDayButton.cs