Как правильно организовать обработку входящих обновлений?
Есть телеграм клиент на tdlib, у него есть класс UpdateHandler, который реализует интерфейс ClientResultHandler и его метод, OnResult, в который приходят обновления,(UpdateNewMessage, UpdateChatPosition и так далее), все они наследуют интерфейс Update, как правильно организовать их обработку, в документации приведен пример с использованием switch case, насколько это правильно?
private class UpdateHandler : Td.ClientResultHandler
{
void Td.ClientResultHandler.OnResult(TdApi.BaseObject @object)
{
if (@object is TdApi.UpdateAuthorizationState)
{
OnAuthorizationStateUpdated((@object as TdApi.UpdateAuthorizationState).AuthorizationState);
}
else if (@object is UpdateNewMessage message)
{
GetChatById(message.Message.ChatId);
if (message.Message.Content is MessageText text)
Console.WriteLine("Text: " + text.Text.Text);
}
else if (@object is UpdateChatPosition position)
{
Console.WriteLine(position.ChatId);
}
}
}