public virtual void Add(IBaseField item) { string itemType = string.Empty; if (this.isUniversal) { this.items.Add(item); } else if (this.itemsType == (itemType = item.GetType().Name)) { this.items.Add(item); } else { throw new Exception(string.Format("Попытка добавить в коллекцию значение типа {0}. Ожидалось значение типа {1}", itemType, this.itemsType)); } }