diff Source/Reflection/Extension/AttributeExtensionCollection.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/Reflection/Extension/AttributeExtensionCollection.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+
+namespace BLToolkit.Reflection.Extension
+{
+	public class AttributeExtensionCollection : List<AttributeExtension>
+	{
+		public new AttributeExtension this[int index]
+		{
+			get
+			{
+				return this == _null || index < 0 || index >= Count ? AttributeExtension.Null : base[index];
+			}
+		}
+
+		public object Value
+		{
+			get { return this == _null? null: this[0].Value; }
+		}
+
+		public new void Add(AttributeExtension attributeExtension)
+		{
+			if (this != _null)
+				base.Add(attributeExtension);
+		}
+
+		private static readonly AttributeExtensionCollection _null = new AttributeExtensionCollection();
+		public  static          AttributeExtensionCollection  Null
+		{
+			get { return _null;  }
+		}
+	}
+}