Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Configuration / TypeElementCollection.cs / 1305376 / TypeElementCollection.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Web.Services.Configuration
{
using System;
using System.Collections;
using System.Configuration;
using System.Diagnostics;
using System.Globalization;
using System.Security.Permissions;
[ConfigurationCollection(typeof(TypeElement))]
public sealed class TypeElementCollection : ConfigurationElementCollection
{
public void Add(TypeElement element)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
BaseAdd(element);
}
public void Clear()
{
BaseClear();
}
public bool ContainsKey(object key)
{
if (key == null)
{
throw new ArgumentNullException("key");
}
return this.BaseGet(key) != null;
}
protected override ConfigurationElement CreateNewElement()
{
return new TypeElement();
}
public void CopyTo(TypeElement[] array, int index)
{
if (array == null)
{
throw new ArgumentNullException("array");
}
((ICollection)this).CopyTo(array, index);
}
protected override Object GetElementKey(ConfigurationElement element)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
TypeElement configElementKey = (TypeElement)element;
return configElementKey.Type;
}
public int IndexOf(TypeElement element)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
return BaseIndexOf(element);
}
public void Remove(TypeElement element)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
BaseRemove(GetElementKey(element));
}
public void RemoveAt(object key)
{
if (key == null)
{
throw new ArgumentNullException("key");
}
BaseRemove(key);
}
public void RemoveAt(int index)
{
BaseRemoveAt(index);
}
public TypeElement this[object key]
{
get
{
if (key == null)
{
throw new ArgumentNullException("key");
}
TypeElement retval = (TypeElement)this.BaseGet(key);
if (retval == null)
{
throw new System.Collections.Generic.KeyNotFoundException(
string.Format(CultureInfo.InvariantCulture,
Res.GetString(Res.ConfigKeyNotFoundInElementCollection),
key.ToString()));
}
return retval;
}
set
{
if (value == null)
{
throw new ArgumentNullException("value");
}
if (key == null)
{
throw new ArgumentNullException("key");
}
// NOTE [ivelin : integration fix] The change bellow have the issue that it wont use the collection comparer
// if one is specified. We ( System.Configuration ) usually avoid having set_item[ key ] when the element contains
// the key and instead provide an Add( element ) method only.
if ( this.GetElementKey(value).Equals(key))
{
if (BaseGet(key) != null)
{
BaseRemove(key);
}
Add(value);
}
else
{
throw new ArgumentException(string.Format(CultureInfo.InvariantCulture,
Res.GetString(Res.ConfigKeysDoNotMatch), this.GetElementKey(value).ToString(),
key.ToString()));
}
}
}
public TypeElement this[int index]
{
get
{
return (TypeElement)BaseGet(index);
}
set
{
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
BaseAdd(index,value);
}
}
}
}
// 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
- Facet.cs
- Inline.cs
- RemotingSurrogateSelector.cs
- MouseEvent.cs
- ObjectDataProvider.cs
- NumericPagerField.cs
- webeventbuffer.cs
- WebColorConverter.cs
- TableLayoutSettings.cs
- GroupItem.cs
- AddInSegmentDirectoryNotFoundException.cs
- PropertyBuilder.cs
- DateTimeFormatInfo.cs
- ApplicationId.cs
- IPHostEntry.cs
- WaitHandle.cs
- KeyInstance.cs
- PointCollection.cs
- __ComObject.cs
- SoapServerProtocol.cs
- Pair.cs
- UniqueIdentifierService.cs
- httpapplicationstate.cs
- ZipPackage.cs
- SqlBulkCopyColumnMappingCollection.cs
- EraserBehavior.cs
- ContextMarshalException.cs
- autovalidator.cs
- MatrixAnimationBase.cs
- ArrayExtension.cs
- DocumentViewerBase.cs
- XmlAttributeProperties.cs
- TextTreeInsertElementUndoUnit.cs
- GeometryHitTestResult.cs
- InstanceOwnerQueryResult.cs
- HierarchicalDataSourceConverter.cs
- KeyEventArgs.cs
- DataServiceSaveChangesEventArgs.cs
- RuntimeHelpers.cs
- _TLSstream.cs
- DataGridCaption.cs
- HuffCodec.cs
- ApplicationProxyInternal.cs
- GradientStop.cs
- PeerEndPoint.cs
- AccessDataSourceView.cs
- XmlDataSourceNodeDescriptor.cs
- NetworkStream.cs
- SortedList.cs
- WorkflowRuntimeSection.cs
- BitmapEffectDrawing.cs
- VectorKeyFrameCollection.cs
- WebSysDefaultValueAttribute.cs
- UInt16Storage.cs
- WebBrowserContainer.cs
- ImageMap.cs
- VarRemapper.cs
- SamlDoNotCacheCondition.cs
- DataGridViewMethods.cs
- ContentWrapperAttribute.cs
- SiteMapProvider.cs
- RestHandlerFactory.cs
- XmlStreamStore.cs
- CollectionChangeEventArgs.cs
- ExplicitDiscriminatorMap.cs
- ResourceContainer.cs
- SiteMapNode.cs
- InternalConfigSettingsFactory.cs
- WebBrowserPermission.cs
- Model3D.cs
- DbMetaDataColumnNames.cs
- EditCommandColumn.cs
- ProfilePropertySettingsCollection.cs
- XmlDownloadManager.cs
- MultiView.cs
- SqlExpressionNullability.cs
- ADMembershipUser.cs
- SymLanguageType.cs
- TypeElementCollection.cs
- PropertyGridEditorPart.cs
- HandleCollector.cs
- WebResourceUtil.cs
- RoutedEventValueSerializer.cs
- DynamicILGenerator.cs
- SafeRightsManagementQueryHandle.cs
- StreamSecurityUpgradeInitiator.cs
- ListItemConverter.cs
- DesignBinding.cs
- LayoutTableCell.cs
- JsonReaderDelegator.cs
- BoolExpr.cs
- WsdlWriter.cs
- WindowsNonControl.cs
- FileLogRecordHeader.cs
- TraceHandlerErrorFormatter.cs
- Ray3DHitTestResult.cs
- DataGridViewCellPaintingEventArgs.cs
- ControlBindingsConverter.cs
- EventLogPermission.cs
- DesignerContextDescriptor.cs