main
 1using System.Collections.Generic;
 2using System.Windows.Forms;
 3using gorilla.commons.utility;
 4
 5namespace MoMoney.Presentation.Model.Menu
 6{
 7    public abstract class SubMenu : ISubMenu
 8    {
 9        public abstract string name { get; }
10
11        public abstract IEnumerable<IMenuItem> all_menu_items();
12
13        public void add_to(MenuStrip strip)
14        {
15            strip.SuspendLayout();
16            var menu_item = new ToolStripMenuItem(name);
17            strip.Items.Add(menu_item);
18            all_menu_items().each(x => menu_item.DropDownItems.Add(x.build()));
19            strip.ResumeLayout();
20        }
21    }
22}