internal void Unregister(ResultView rv) { dispatcher.Invoke(() => { ResultViewList.Remove(rv); }); }
private void StartSolver(Func <string, string> task, string inputData, ResultView rv, TimeMeasure tm) { try { tm.Register(rv); rv.Value = "Running"; rv.RunningState = ERunningState.Running; rv.Value = task(inputData); tm.Unregister(rv); if (string.IsNullOrEmpty(rv.Value)) { rv.Value = "No result"; } rv.RunningState = ERunningState.Finished; } catch (NotImplementedException) { rv.Value = "Task not Implemented"; tm.Unregister(rv); rv.RunningState = ERunningState.NotImplemented; } catch (Exception ex) { rv.Value = ex.ToString(); tm.Unregister(rv); rv.RunningState = ERunningState.Exception; } tm.TaskFinished(); }
internal void Register(ResultView rv) { dispatcher.Invoke(() => { ResultViewList.Add(rv, sw.ElapsedMilliseconds); rv.Time = $"0s"; }); }