Example #1
0
        private static void MenuExample()
        {
            var menu1 = new MenuContainer(new MenuComponent[]
            {
                new MenuLeaf("1. My profile"),
                new MenuComposite("2. Admin", new[]
                {
                    new MenuLeaf("2.1. Admin page")
                }),
                new MenuComposite("3. Lists", new MenuComponent[]
                {
                    new MenuLeaf("3.1. Admin page"),
                    new MenuLeaf("3.2. Lecturers"),
                    new MenuComposite("3.3 Students", new MenuComponent[]
                    {
                        new MenuComposite("3.3.1. 1-st year", new[]
                        {
                            new MenuLeaf("3.3.1.1. Computer science"),
                            new MenuLeaf("3.3.1.2. Mathematics"),
                            new MenuLeaf("3.3.1.3. Admin page")
                        }),
                        new MenuLeaf("3.3.2. 2-nd year")
                    })
                })
            });

            var menu2 = new MenuComposite("1. My second menu", new[]
            {
                new MenuLeaf("1.1. My profile"),
                new MenuLeaf("1.2. My settings"),
            });

            var menu3 = new MenuContainer(new[] { new MenuLeaf("1. My profile menu") });

            var menu4 = new MenuLeaf("1. My forth menu");

            var menus = new MenuComponent[] { menu1, menu2, menu3, menu4 };

            foreach (var menu in menus)
            {
                Console.WriteLine(menu.Render());
                Console.WriteLine();
                Console.WriteLine(@"------");
                Console.WriteLine();
            }
        }
 public abstract MenuComposite Remove(MenuComposite menuComposite);
 public abstract MenuComposite Add(MenuComposite menuComposite);