Mercurial > pub > bltoolkit
view Source/Data/Sql/ChildContainer.cs @ 2:79a04c6442bf
file name case fix
author | cin |
---|---|
date | Fri, 22 Aug 2014 13:41:57 +0400 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; namespace BLToolkit.Data.Sql { public class ChildContainer<TP,TC> : Dictionary<string,TC>, IDictionary<string,TC> where TC : IChild<TP> where TP : class { internal ChildContainer() { } internal ChildContainer(TP parent) { _parent = parent; } readonly TP _parent; public TP Parent { get { return _parent; } } public void Add(TC item) { Add(item.Name, item); } public new void Add(string key, TC value) { if (value.Parent != null) throw new InvalidOperationException("Invalid parent."); value.Parent = _parent; base.Add(key, value); } public void AddRange(IEnumerable<TC> collection) { foreach (var item in collection) Add(item); } } }