Esempio n. 1
0
        public void ChangeState(ISignalState state)
        {
            State = state
                    ?? throw new ArgumentNullException(nameof(state));

            var contextProp = State.GetType()
                              .GetProperty(nameof(State.Context));

            contextProp.SetValue(State, this);
        }
Esempio n. 2
0
 public TrafficLight(ISignalState state)
 {
     ChangeState(state);
 }
Esempio n. 3
0
 /// <summary>
 /// Add a signal to the list of signal controlled by this command station.
 /// </summary>
 internal void AddSignal(ISignalState signal)
 {
     signals.Add(signal);
     AddInitializationObject(signal as IInitializeAtPowerOn);
 }