Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }