コード例 #1
0
 private void StartTests2(IAdventSolver adventSolver, Data d, TimeMeasure tm)
 {
     Task.Factory.StartNew(() =>
     {
         var result = d.Results.Where(x => x.TaskName == adventSolver.SolverName).FirstOrDefault();
         try
         {
             if (result != null)
             {
                 tm.Register(result.ResultTest2);
                 result.ResultTest2.Value = string.Join("\n", adventSolver.RunTests2());
                 tm.Unregister(result.ResultTest2);
             }
         }
         catch (NotImplementedException)
         {
             result.ResultTest2.Value = "Task not Implemented";
             tm.Unregister(result.ResultTest2);
         }
         catch (Exception ex)
         {
             result.ResultTest2.Value = ex.ToString();
             tm.Unregister(result.ResultTest2);
         }
         tm.TaskFinished();
     });
 }
コード例 #2
0
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            DataItemView  div    = (sender as Button).DataContext as DataItemView;
            Data          d      = DataContext as Data;
            IAdventSolver solver = d.Solvers.Where(x => x.SolverName == div.TaskName).FirstOrDefault();
            TimeMeasure   tm     = new TimeMeasure(Dispatcher, 1);

            SolveTask2(solver, d, tm);
        }
コード例 #3
0
 private void SolveTask2(IAdventSolver adventSolver, Data d, TimeMeasure tm)
 {
     Task.Factory.StartNew(() =>
     {
         var result = d.Results.Where(x => x.TaskName == adventSolver.SolverName).FirstOrDefault();
         if (result != null)
         {
             try
             {
                 StartSolver(adventSolver.SolveTask2, adventSolver.InputData, result.Result2, tm);
             }
             catch (Exception ex)
             {
                 result.Result2.Value        = ex.ToString();
                 result.Result2.RunningState = ERunningState.Exception;
             }
         }
     });
 }