private void PopulateList(GenApplicationBase parent) { var list = ParentObject.SubClass[ClassIdx]; foreach (var item in list) { Add(new T { GenDataBase = parent.GenDataBase, GenObject = item, Parent = parent }); } }
/// <summary> /// Create a new Generic named application list. /// </summary> /// <param name="parent">The list's parent object.</param> /// <param name="classId">The ClassID of the list's objects.</param> /// <param name="classIdx">The index of the underlying data in the parent object's subclasses list.</param> public GenNamedApplicationList(GenApplicationBase parent, int classId, int classIdx) { var className = typeof(T).Name; Parent = parent; ClassId = classId; ClassIdx = classIdx; ParentObject = parent.GenObject as GenObject; if (ParentObject != null) { if (ClassIdx >= ParentObject.SubClass.Count) { for (var i = ParentObject.SubClass.Count; i <= ClassIdx; i++) { ParentObject.SubClass.Add(new GenSubClass(ParentObject.GenDataBase, ParentObject, ClassId, null)); } } PopulateList(parent); } parent.Lists.Add(className, this); }