Exemplo n.º 1
0
        /// <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);
                    }
                }
            }
        }
Exemplo n.º 2
0
 public int Add(MemberList list)
 {
     Sorted = false;
     items.AddRange(list.Items);
     return(items.Count);
 }
Exemplo n.º 3
0
 public ClassModel()
 {
     Name    = null;
     Members = new MemberList();
 }