Можно ли избежать конструкции switch в функции обработки отправленных телеграмм боту сообщений?

Пишу телеграмм бота с расписанием. Есть функция обработки приходящий ему сообщений. Можно ли каким-либо образом избежать конструкции switch, а то происходит достаточно объемная конструкция?

static async Task HandleMessage(ITelegramBotClient botClient, Message message, UsersDatabase currentUser)
{
    switch (message.Text?.ToLower())
    {
        case "/start":
            await StartCommands.StartMessagingClick(botClient, message, currentUser);
            break;

        case "startpage":
            await StartCommands.BackToStartMenu(botClient, message, currentUser);
            break;

        case "студент":
            await StartMenu.StudentClick(botClient, message);
            break;

        case "методист":
            currentUser.IsMethodist = true;
            UsersDatabase.UpdateUser(currentUser);//заглушка логина для теста
            await StartMenu.MethodistClick(botClient, message);
            break;

        case "1 курс":
        case "2 курс":
        case "3 курс":
        case "4 курс":
            await CoursesMenu.CourseClick(botClient, message, currentUser);
            break;

        case "гуп-1":
        case "гуп-2":
        case "гуп-3":
        case "гуп-4":
        case "гуэ-1":
        case "гуэ-2":
        case "гуэ-3":
        case "уир-1":
        case "уир-2":
            await AllGroupsMenu.GroupClick(botClient, message, currentUser);
            break;
    }
}

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