view Source/Reflection/Extension/AttributeExtensionCollection.cs @ 1:8f65451dc28f

Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author cin
date Fri, 28 Mar 2014 01:04:56 +0400
parents f990fcb411a9
children
line wrap: on
line source

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;  }
		}
	}
}