/// <summary> /// Add menu item from class which implements IConsoleTask /// </summary> /// <param name="menu"></param> /// <param name="task"></param> /// <param name="waitForCompletion"></param> /// <returns></returns> public static ConsoleMenu Add(this ConsoleMenu menu, IConsoleTask task, bool waitForCompletion = true, string overrideTitle = null, ConsoleKey?overrideKey = null) { var key = overrideKey ?? ConsoleKey.A + menu.ItemCount; var title = overrideTitle ?? task.Title; if (string.IsNullOrWhiteSpace(title)) { title = task.GetType().Name.FromCamelCaseToSentence(); } var item = new ConsoleMenuItem( key, title, () => menu.RunTask(task.Execute()), waitForCompletion); menu.Add(item); return(menu); }
private static void ConsoleProgram_TaskError(Exception ex, IConsoleTask consoleTask) { Console.WriteLine(ex); }