Пример #1
0
        internal void DestroyConsole(ConsoleInstance console)
        {
            if (Consoles.Count < 2)
            {
                throw new InvalidOperationException("Cannot destroy last console. Use quit command instead");
            }

            if (ActiveConsole.Name == console.Name)
            {
                CicleConsole(-1);
            }

            Consoles.Remove(console);

            if (console.Workers.Count > 0)
            {
                Task.WaitAll(console.Workers.Select(w => w.StopAsync()).ToArray());
            }

            // ReSharper disable once RedundantAssignment
            console = null;
        }
Пример #2
0
 public void RemoveConsole(Console console)
 {
     Consoles.Remove(console);
 }