Можно ли избежать конструкции 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;
}
}