private void TryExecuteChildActions(IMessenger messenger) { messenger.ChangeStateMessage(FinalMessage); //Определение потока для дочерних действий, var threads = new List <Thread>(); foreach (var childActionName in ChildActions) { // Удаление ссылки на себя из их списков; var childAction = Process.GetByName(childActionName); if (childAction == null) { continue; } childAction.ParentActions.Remove(Name); //Определение стартовых методов для выполнения; if (childAction.ParentActions.Count == 0) { threads.Add(new Thread(childAction.Execute)); } } // Запуск дочерних действий в процессе; threads.ForEach(t => t.Start()); }
private void TryExecuteChildActions(IMessenger messenger) { messenger.ChangeStateMessage(FinalMessage); //Определение потока для дочерних действий, var threads = new List<Thread>(); foreach (var childActionName in ChildActions) { // Удаление ссылки на себя из их списков; var childAction = Process.GetByName(childActionName); if (childAction == null) continue; childAction.ParentActions.Remove(Name); //Определение стартовых методов для выполнения; if (childAction.ParentActions.Count == 0) threads.Add(new Thread(childAction.Execute)); } // Запуск дочерних действий в процессе; threads.ForEach(t => t.Start()); }