I have 2 generic classes: a ManagerBase class and a ChildBase class. They're both abstract and are intended to be made concrete. ManagerBase has a list of ChildBase, which is why I want to make it generic, so a CatalogManager : ManagerBase would have a list of Catalogs. Also, each Catalog would have reference to its' Manager - CatalogManager.
public class ManagerBase<T1> : ChildBase<???>
{
public ManagerBase()
{
ChildObjects = new List<T1>();
}
public List<T1> ChildObjects { get; set; }
}
public class ChildBase<T1> : ManagerBase<???>
{
public ChildBase(T1 parentMgr)
{
ParentMgr = parentMgr;
ParentMgr.ChildObjects.Add(this);
}
public T1 ParentMgr { get; set; }
}
How can I resolve this object model?
Thanks.
public class ManagerBase<TManager, TChild> where TManager : ManagerBase<TManager, TChild> where TChild : ChildBase<TManager, TChild>,public class ChildBase<TManager, TChild> where TManager : ManagerBase<TManager, TChild> where TChild : ChildBase<TManager, TChild>,class CatalogManager : ManagerBase<CatalogManager, Catalog>,class Catalog : ChildBase<CatalogManager, Catalog>.