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(); }
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(); }