static void Main(string[] args) {
            Car c1 = new Car();
            c1.RegisterWithCarEngine(CallMeHere);
            c1.RegisterWithCarEngine(CallMeHere);

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

            c1.UnRegisterWithCarEngine(CallMeHere); //works fine, unregistered one
           //c1.UnRegisterWithCarEngine(CallMeHere); //works fine
            for (int i = 0; i < 6; i++) {
                c1.Accelerate(20);
            }
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("***** Method Group Conversion *****\n");
            Car c1 = new Car();

            c1.RegisterWithCarEngine(CallMeHere);

            Console.WriteLine("***** Speeding Up *****");
            for (int i = 0; i < 6; i++)
                c1.Accelerate(20);
            c1.UnregisterWithCarEngine(CallMeHere);

            for (int i = 0; i < 6; i++)
                c1.Accelerate(20);

            Console.ReadLine();
        }
Exemple #3
0
        static void Main( string[] args )
        {
            Console.WriteLine("***** Method Group Conversion *****\n");
            Car c1 = new Car();

            // Register the simple method name.
            c1.RegisterWithCarEngine(CallMeHere);

            Console.WriteLine("***** Speeding up *****");
            for (int i = 0; i < 6; i++)
                c1.Accelerate(20);

            // Unregister the simple method name.
            c1.UnRegisterWithCarEngine(CallMeHere);

            // No more notifications!
            for (int i = 0; i < 6; i++)
                c1.Accelerate(20);

            Console.ReadLine();
        }