// building the main menu using delegates private static Delegates.MainMenu buildMainMenuDelegates() { ExecutableHandler showTimeExecute = new MenuDelegatesAndInterfaces.ShowTime().Execute; ExecutableHandler showDateExcute = new MenuDelegatesAndInterfaces.ShowDate().Execute; ExecutableHandler countCapitalsExcute = new MenuDelegatesAndInterfaces.CountCapitals().Execute; ExecutableHandler showVersionExcute = new MenuDelegatesAndInterfaces.ShowVersion().Execute; Delegates.ExecutableItem executableItemShowTime = new Delegates.ExecutableItem("Show Time", showTimeExecute); Delegates.ExecutableItem executableItemShowDate = new Delegates.ExecutableItem("Show Date", showDateExcute); Delegates.ExecutableItem executableItemCountCapitals = new Delegates.ExecutableItem("Count Capitals Letters", countCapitalsExcute); Delegates.ExecutableItem executableItemShowVersion = new Delegates.ExecutableItem("Show Version", showVersionExcute); // Creates the sub menus: "Show Date/Time" and "Version and Capitals" Delegates.SubMenu showDateAndTimeMenu = new Delegates.SubMenu("Show Date/Time"); showDateAndTimeMenu.AddItem(executableItemShowTime); showDateAndTimeMenu.AddItem(executableItemShowDate); Delegates.SubMenu VersionAndCapitalsMenu = new Delegates.SubMenu("Version and Capitals"); VersionAndCapitalsMenu.AddItem(executableItemCountCapitals); VersionAndCapitalsMenu.AddItem(executableItemShowVersion); // Creates the Main Menu with both of the sub menus Delegates.MainMenu mainMenuDelegate = new Delegates.MainMenu("Main Menu Using Delegate"); mainMenuDelegate.AddItemToMainMenu(showDateAndTimeMenu); mainMenuDelegate.AddItemToMainMenu(VersionAndCapitalsMenu); return(mainMenuDelegate); }