public void DoWork2()
 {
     Console.WriteLine("2 - 0");
     CooperativeManager.Continue(() => Console.WriteLine("2 - 1"));
     CooperativeManager.Continue(() => Console.WriteLine("2 - 2"));
     CooperativeManager.Continue(() => Console.WriteLine("2 - 3"));
     CooperativeManager.Continue(() => Console.WriteLine("2 - 4"));
 }
        static void Main(string[] args)
        {
            CooperativeManager cm    = new CooperativeManager();
            CoopTasks          tasks = new CoopTasks(cm);

            cm.Add(tasks.DoWork1);
            cm.Add(tasks.DoWork2);
            cm.Run();
        }
 public CoopTasks(CooperativeManager cm) : base(cm)
 {
 }
 public CMBase(CooperativeManager cm)
 {
     CooperativeManager = cm;
 }