Как завершить выполнение метода по команде?

Всем доброго времени суток. Есть консольное приложение, в котором по командам вызываются CRUD функции для анкет. Можно ли как-нибудь выйти из функции, введя команду -exit вместо входных данных, не нагромождая всё if'ами и проверками? То есть, во время ввода поля experience ввести команду вместо данных и выйти из функции.

Main:

while (alive)
            {
                Console.WriteLine("Enter the command (-help for command list):");
                switch (Console.ReadLine())
                {
                    case "-new_form":
                        var form = new Form();
                        DbHandler.AddForm(DbHandler.NewProfile(form));
                        break;
...

NewProfile:

public static Form NewProfile(Form form)
        {
            Console.WriteLine("Enter your birth date: ");
            form.Date = Console.ReadLine();
            Console.WriteLine("Enter your programming language: ");
            form.ProgLang = Console.ReadLine();
            Console.WriteLine("Enter your experience (in years): ");
            form.Experience = ToInt32(Console.ReadLine());
            Console.WriteLine("Enter your phone number: ");
            form.PhoneNumber = Console.ReadLine();
            return form;
        }

AddForm:

public static void AddForm(Form form)
        {
            var db = new ApplicationContext();
            db.Forms.Add(form);
            db.SaveChanges();
            Console.WriteLine("Successfully added!");
        }

Ответы (1 шт):

Автор решения: Andrew

сделай основную функцию которая будет заниматься исключительно обработкой комманд/навигацию по методам.

while (true)
{
    var input = Console.ReadLine().ToLower();

    if (input == "exit")
        break;

    switch (input)
    {
        case "new_form":
            NewFormFunc();
            break;
        case "func1":
            Func1();
            break;
        case "func2":
            Func2();
            break;
    }

}

И кучу функций которые отвечают за сами команды.

Таким макаром у тебя будет каждая функция отвечать за некую ограниченную ответственность. Например код который я выше написал - это только навигация и ничего более. Каждая функция - это своя область ответственности которая с навигацией не пересекается.

→ Ссылка