static void StatePattern() { Console.WriteLine("\n\nState Pattern"); var context = new StatePattern.Context(); context.SetState(new ConcreteStateA()); context.GetCurrentState().Handle(); context.SetState(new ConcreteStateB()); context.GetCurrentState().Handle(); }