/// <summary> /// Uruchamia wskazany moduł testowy. /// </summary> private static void ExecuteModule(IDemoModule module) { Debug.WriteLine("Module: " + module.GetType().Name); try { module.Execute(); } catch (Exception e) { MyUtil.PrintError(e); } }
/// <summary> /// Wyświetla menu dostępnych modułów i czeka na wybór użytkownika. /// </summary> /// <param name="module">zwraca wybrany moduł (null, jeśli wybór był nieprawidłowy)</param> /// <returns>zwraca False, jeśli naciśnięto Escape</returns> private static bool SelectModule(out IDemoModule module) { Console.WriteLine("\n\nSelect module: (Esc - exit)"); foreach (var m in modules) Console.WriteLine("{0} - {1}", m.MenuKey, m.Description); var keyInfo = Console.ReadKey(true); Trace.WriteLine("\nMenu selection: " + keyInfo.Key); var selectedKey = keyInfo.KeyChar.ToString().ToUpper()[0]; module = modules.SingleOrDefault(m => m.MenuKey == selectedKey); return (keyInfo.Key != ConsoleKey.Escape); }