diff Source/Configuration/ElementCollectionBase.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/Configuration/ElementCollectionBase.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,31 @@
+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); }
+		}
+	}
+}
\ No newline at end of file