示例#1
0
        static void Main(string[] args)
        {
            WorkPerformedEventHandler del1 = WorkPerformed1;

            del1(8, WorkType.Work);
            del1(1, WorkType.DoNothing);
            //WorkPerformed1(8, WorkType.Work);
            //WorkPerformed1(1, WorkType.DoNothing);

            WorkPerformedEventHandler del2 = WorkPerformed2;
            WorkPerformedEventHandler del3 = WorkPerformed3;

            del3 += del1 + del2;
            del3(1, WorkType.Work);
        }
示例#2
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            WorkPerformedEventHandler del1 = WorkPerformed1;

            //WorkPerformed1(8, WorkType.Work);
            //del1(8, WorkType.Work);

            //WorkPerformed1(1, WorkType.DoNothing);
            //del1(1, WorkType.DoNothing);

            WorkPerformedEventHandler del2 = WorkPerformed2;
            WorkPerformedEventHandler del3 = WorkPerformed3;

            del3 += del1 + del2;              // del3 = WorkPerformed3, WorkPerformed1, WorkPerformed2
            del3 -= del1;                     // del3 = WorkPerformed3, WorkPerformed2
            del3(2, WorkType.DoNothing);
        }
示例#3
0
        private static void Main(string[] args)
        {
            WorkPerformedEventHandler del1 = WorkPerformed1;

            del1(8, WorkType.Work);
            del1(1, WorkType.DoNothig);

            WorkPerformedEventHandler del2 = WorkPerformed2;
            WorkPerformedEventHandler del3 = WorkPerformed3;

            del1 += del2 + del3;
            del1(8, WorkType.Work);

            Console.WriteLine("\n_______________________________\n");
            Worker workerAlice = new Worker("Alice");
            Worker workerPeter = new Worker("Peter");
            Worker workerBob   = new Worker("Bob");



            Thread threadForAlice = new Thread(() =>
            {
                workerAlice.WorkComplete  += OnWorkCompleteEventHandler;
                workerAlice.WorkPerformed += WorkPerformed3;
                workerAlice.DoWork(20, WorkType.Work);
            });

            Thread threadForBob = new Thread(() =>
            {
                workerBob.WorkComplete  += OnWorkCompleteEventHandler;
                workerBob.WorkPerformed += WorkPerformed2;
                workerBob.DoWork(5, WorkType.DoNothig);
            });

            threadForAlice.Start();     //начало выполнения блока потока
            threadForBob.Start();

            threadForAlice.Join();  //указание на то, чтобы дожидаться выполнения дочерних потоков по отношению к main
            threadForBob.Join();
        }
示例#4
0
 static void Main(string[] args)
 {
     WorkPerformedEventHandler del1 = WorkPerformed1;
 }
示例#5
0
        private static void Main(string[] args)
        {
            WorkPerformedEventHandler del1 = WorkPerformed1;

            Console.ReadKey();
        }