/// <summary> /// Provides built-in confirmation before executing by prompting user to press 'y' /// override for specialized confirmation /// </summary> /// <returns></returns> public virtual bool ConfirmStart() { bool executionPreAuthorized = Silent; var executionAuthorized = executionPreAuthorized; var isTaskValid = RequiredArgumentsPresent(); // Can't assume the user wants to write the arguments in an override //if (!GetType().NoConfirmation()) // WriteArguments(); if (isTaskValid) { if (!executionPreAuthorized) { var consoleInfo = ConsoleProgram.ConsolePrompt(); executionAuthorized = (consoleInfo.KeyChar == 'Y' || consoleInfo.KeyChar == 'y'); } } return(executionAuthorized && isTaskValid); }