public int GetInteger(int millisecondTimeout) { using (var consoleListener = new ConsoleListener()) { _interaction = new Interaction(); consoleListener.InteractionHandled += consoleListener_InteractionHandled; consoleListener.Start(); getInput.WaitOne(millisecondTimeout); return _interaction.resultValue; } }
public bool TryGetInteger(out int value, int millisecondTimeout) { using (var consoleListener = new ConsoleListener()) { _interactionHappened = false; _interaction = new Interaction(); consoleListener.InteractionHandled += consoleListener_InteractionHandled; consoleListener.Start(); getInput.WaitOne(millisecondTimeout); value = _interaction.resultValue; return _interactionHappened; } }
public MenuItem ChooseFromMenu(Menu menu, int millisecondTimeout) { using (var consoleListener = new ConsoleListener()) { _interactionHappened = false; _interaction = new Interaction(); consoleListener.InteractionHandled += consoleListener_InteractionHandled; consoleListener.Start(); Console.Write("Enter choice: "); getInput.WaitOne(millisecondTimeout); if (menu.ValidChoice(_interaction.resultValue)) return menu.GetMenuItem(_interaction.resultValue); else return null; } }