Esempio n. 1
0
        static void CarEventLambda()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += (sender, e) => { Console.WriteLine(e.msg); };
            c1.Exploded    += (sender, e) => { Console.WriteLine(e.msg); };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Esempio n. 2
0
        static void ExampleEvent()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            //c1.AboutToBlow += new CarEvent.CarEngineHandler(CarIsAlmostDoomed);
            //c1.AboutToBlow += new CarEvent.CarEngineHandler(CarAboutToBlow);
            //упрощенная запись
            c1.AboutToBlow += CarAboutToBlow;
            //CarEvent.CarEngineHandler d = new CarEvent.CarEngineHandler(CarExploded);
            //c1.Exploded += d;

            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
            //c1.Exploded -= d;

            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Esempio n. 3
0
        static void AnonymusMethodExample()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += delegate {
                Console.WriteLine("Eek! Going to fast");
            };
            c1.AboutToBlow += delegate(object sender, CarEventArgs e){
                Console.WriteLine("Mesage from Car {0}", e.msg);
            };
            c1.Exploded += delegate(object sender, CarEventArgs e){
                Console.WriteLine("Fatal Message from car: {0}", e.msg);
            };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Esempio n. 4
0
        static void AnonymousLocal()
        {
            int      aboutToBlowCounter = 0;
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += delegate {
                aboutToBlowCounter++;
                Console.WriteLine("Eek! Going too fast!");
            };
            c1.AboutToBlow += delegate(object sender, CarEventArgs e)
            {
                aboutToBlowCounter++;
                Console.WriteLine("critical message from car: {0}", e.msg);
            };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
            Console.WriteLine("aboutToBlow event was fired {0} times", aboutToBlowCounter);
        }