Business Logic Toolkit for .NET
www.bltoolkit.net
|  Home   |  Download   |  Documentation   |  Discussions   |  License   |

  Source.Configuration.ElementCollectionBase.cs

 
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); }
        }
    }
}
 
© 2010 www.bltoolkit.net
support@bltoolkit.net