Mercurial > pub > bltoolkit
view Source/Data/Sql/ChildContainer.cs @ 9:1e85f66cf767 default tip
update bltoolkit
author | nickolay |
---|---|
date | Thu, 05 Apr 2018 20:53:26 +0300 |
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); } } }