/// <summary> /// Merge selected items from the SORTED lists without duplicate values /// </summary> /// <param name="list">Items to merge</param> public void Merge(MemberList list, FlagType mask, Visibility acc) { if (list == null) { return; } int index = 0; bool added; foreach (MemberModel m in list) { if ((m.Flags & mask) == mask && (m.Access & acc) > 0) { added = false; while (index < items.Count) { if (m.Name.CompareTo(items[index].Name) <= 0) { if (m.Name != items[index].Name) { items.Insert(index, m); } else if ((items[index].Flags & FlagType.Setter) > 0) { items.RemoveAt(index); items.Insert(index, m); } added = true; break; } index++; } if (!added) { items.Add(m); } } } }
public int Add(MemberList list) { Sorted = false; items.AddRange(list.Items); return(items.Count); }
public ClassModel() { Name = null; Members = new MemberList(); }