| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.Runtime.Serialization.Configuration
- {
- using System;
- using System.Configuration;
- using System.Globalization;
- [ConfigurationCollection(typeof(ParameterElement), AddItemName = ConfigurationStrings.Parameter, CollectionType = ConfigurationElementCollectionType.BasicMap)]
- public sealed class ParameterElementCollection : ConfigurationElementCollection
- {
- public ParameterElementCollection()
- {
- this.AddElementName = ConfigurationStrings.Parameter;
- }
- public ParameterElement this[int index]
- {
- get
- {
- ParameterElement retval = (ParameterElement)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(ParameterElement 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; }
- }
- 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()
- {
- ParameterElement retval = new ParameterElement();
- return retval;
- }
- protected override string ElementName
- {
- get { return ConfigurationStrings.Parameter; }
- }
- protected override Object GetElementKey(ConfigurationElement element)
- {
- if (element == null)
- {
- throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
- }
- return ((ParameterElement)element).identity;
- }
- public int IndexOf(ParameterElement element)
- {
- if (element == null)
- {
- throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
- }
- return BaseIndexOf(element);
- }
- public void Remove(ParameterElement 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);
- }
- }
- }
|