BooEulerTool.TimeoutRunner.Run C# (CSharp) Method

Run() public method

public Run ( string file, Action action ) : RunnerResult
file string
action Action
return RunnerResult
        public RunnerResult Run(string file, Action<string[]> action)
        {
            using (var stream = new MemoryStream())
            {
                var writer = new StreamWriter(stream);
                var defOut = Console.Out;
                Console.SetOut(writer);

                Exception ex;
                string[] lines;
                var sw = Stopwatch.StartNew();
                try
                {
                     ex = RunAction(action, timeout);
                }
                finally
                {
                    lines = FinishStream(stream, writer);
                    Console.SetOut(defOut);
                }
                return new RunnerResult(file, sw.Elapsed, lines, ex);
            }
        }