public static bool RequestInput <T>(BaseRunable runable, string message, out T result) { Console.WriteLine(runable.OutputString); runable.Flush(false); Console.WriteLine(message); object input = Console.ReadLine(); try { result = (T)Convert.ChangeType(input, typeof(T)); return(true); } catch (Exception) { result = default(T); runable.Error = $"Kan {message} niet converteren naar {typeof(T)}"; return(false); } }
private static void ExecuteRunable(string name, BaseRunable runable) { //Clear the console and state which assignment is running. Console.Clear(); Console.WriteLine($"Running [{name}], Output:\n"); //Execute, print result and flush the runable. runable.Execute(); Console.WriteLine(runable.OutputString); if (runable.HasError) { Console.WriteLine("[ERROR]: " + runable.Error); Console.WriteLine(); } runable.Flush(true); //State that we are done, wait for the user to press a key. Console.WriteLine($"Done running [{name}] press a key to continue..."); Console.ReadKey(); }