view Source/Configuration/ElementCollectionBase.cs @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +0300
parents f990fcb411a9
children
line wrap: on
line source

using System;
using System.Configuration;

namespace BLToolkit.Configuration
{
	internal abstract class ElementCollectionBase<T>: ConfigurationElementCollection
		where T : ConfigurationElement, new()
	{
		protected override ConfigurationElement CreateNewElement()
		{
			return new T();
		}

		protected abstract object GetElementKey(T element);

		protected override sealed object GetElementKey(ConfigurationElement element)
		{
			return GetElementKey((T)element);
		}

		public new T this[string name]
		{
			get { return (T)BaseGet(name); }
		}

		public  T this[int index]
		{
			get { return (T)BaseGet(index); }
		}
	}
}