static void MainA() { Console.WriteLine("MainClassFour -> MainA"); TrainSignal trainSignal = new TrainSignal(); new Car(trainSignal); new Car(trainSignal); new Car(trainSignal); new Car(trainSignal); trainSignal.HereComesATrain(); Console.WriteLine("***"); trainSignal.TrainsAComing(); Console.WriteLine("***"); trainSignal.TrainsAComing = null; trainSignal.HereComesATrain(); }
public Car(TrainSignal trainSignal) { trainSignal.TrainsAComing += StopTheCar; // Observer pattern }