Ближайшая конференция: С++ Russia 2024, 24 мая (online), 2–3 июня (offline, Москва)
Подробности и билеты: [ Ссылка ]
— —
Иногда хочется магии, которая бы вызывала обработчик и раскладывала поля запроса в параметры функции за тебя, например:
{
"request": "baz",
"count": 1,
"id": "two",
"payload": { "three": 3 }
}
↓
public class Program
{
public static void foo()
{ }
public static void bar([Name("count")] int i)
{ }
public static void baz([Name("count")] int i,
[Name("id")] string s,
[Name("payload")] JsonElement p)
{ }
}
Еще сильнее этого хочется, когда обработчиков со множеством параметров становится много.
В этом докладе мы сконцентрируемся на type erasure, чтобы создать удобный и дружелюбный для разработчика способ организации обработчиков запросов.
Разберем несколько подходов, их профит, как их можно улучшить и что ещё с этим можно сделать. Предупреждение: будет много кода.
Ссылка на презентацию: [ Ссылка ]
![](https://i.ytimg.com/vi/u4_JAn83FJQ/maxresdefault.jpg)